{
  "match_info": {
    "home_team": "Sevilla",
    "away_team": "Alavés",
    "tournament": "LaLiga",
    "date": "20261106",
    "timezone": "America/New_York",
    "home_formation": "4-2-3-1",
    "away_formation": "5-3-2",
    "lineup_status": "projected_from_squad",
    "lineup_source": "/teams/get-squad",
    "lineup_confirmed": false,
    "lineup_confidence": 0.45
  },
  "prediction": {
    "most_likely_score": "2-1",
    "home_goals": 2,
    "away_goals": 1,
    "most_likely_score_probability": 0.0898,
    "most_likely_winning_score_home": "2-1",
    "most_likely_winning_score_home_probability": 0.0898,
    "most_likely_winning_score_away": "1-2",
    "most_likely_winning_score_away_probability": 0.0772,
    "match_resolution": "regulation",
    "predicted_winner": "Sevilla",
    "tiebreaker": {
      "applies": false,
      "method": "none",
      "regulation_draw_probability": 0.2438,
      "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-1",
        "probability": 0.1128
      },
      {
        "score": "2-1",
        "probability": 0.0898
      },
      {
        "score": "1-0",
        "probability": 0.0804
      },
      {
        "score": "1-2",
        "probability": 0.0772
      },
      {
        "score": "0-1",
        "probability": 0.069
      }
    ],
    "scoreline_probabilities": {
      "0-0": 0.0515,
      "0-1": 0.069,
      "0-2": 0.0482,
      "0-3": 0.0221,
      "0-4": 0.0076,
      "0-5": 0.0021,
      "1-0": 0.0804,
      "1-1": 0.1128,
      "1-2": 0.0772,
      "1-3": 0.0355,
      "1-4": 0.0122,
      "1-5": 0.0034,
      "1-6": 0.0008,
      "2-0": 0.0651,
      "2-1": 0.0898,
      "2-2": 0.0619,
      "2-3": 0.0285,
      "2-4": 0.0098,
      "2-5": 0.0027,
      "2-6": 0.0006,
      "3-0": 0.0348,
      "3-1": 0.048,
      "3-2": 0.0331,
      "3-3": 0.0152,
      "3-4": 0.0052,
      "3-5": 0.0014,
      "4-0": 0.014,
      "4-1": 0.0193,
      "4-2": 0.0133,
      "4-3": 0.0061,
      "4-4": 0.0021,
      "4-5": 0.0006,
      "5-0": 0.0045,
      "5-1": 0.0062,
      "5-2": 0.0043,
      "5-3": 0.002,
      "5-4": 0.0007,
      "6-0": 0.0012,
      "6-1": 0.0017,
      "6-2": 0.0011,
      "6-3": 0.0005
    },
    "outcome": {
      "home_win": 0.4276,
      "draw": 0.2438,
      "away_win": 0.3286
    },
    "markets": {
      "over_2_5_goals": 0.573,
      "under_2_5_goals": 0.427,
      "btts_yes": 0.5985,
      "btts_no": 0.4015,
      "home_clean_sheet": 0.2518,
      "away_clean_sheet": 0.2011
    },
    "home_ratings": {
      "DR": 6.82,
      "MCR": 6.83,
      "ATR": 6.87,
      "GK": 6.84
    },
    "away_ratings": {
      "DR": 6.75,
      "MCR": 6.87,
      "ATR": 6.77,
      "GK": 7.07
    },
    "insights": {
      "summary": "Antagonist matchup analysis for Sevilla vs Alavés. Most likely scoreline: 2-1. Lambdas derived from 6 home and 7 away individual player duels. Head-to-head: Sevilla 2W-4D-4L vs Alavés over 10 meetings.",
      "key_player": "Projected scorer(s): Youssouf Fofana, Miguel Sierra, Lucas Boyé",
      "tactical_analysis": "Tactical parity between 4-2-3-1 and 5-3-2. Match outcome driven primarily by individual player quality. Midfield is evenly contested — Lucien Agoumé vs Antonio Blanco will be the pivotal duel. Total antagonist xG — Home: 0.58, Away: 0.65. Home danger zone: CAM vs CM. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle."
    },
    "confidence": 0.66,
    "home_lambda": 1.604,
    "away_lambda": 1.379,
    "h2h": {
      "available": true,
      "meetings": 10,
      "home_wins": 2,
      "away_wins": 4,
      "draws": 4,
      "home_multiplier": 0.9857,
      "away_multiplier": 1.0143
    },
    "modal_scoreline": "1-1",
    "modal_scoreline_probability": 0.1128,
    "headline_policy": null
  },
  "pregame_baseline": {
    "fair_win_probability": {
      "home_win": 0.4276,
      "draw": 0.2438,
      "away_win": 0.3286
    },
    "favorite": "Sevilla",
    "favorite_win_probability": 0.4276,
    "fair_spread": 0.225,
    "fair_total": 2.983,
    "prop_estimates": [
      {
        "market": "team_total_goals",
        "selection": "Sevilla",
        "estimate": 1.604,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "team_total_goals",
        "selection": "Alavés",
        "estimate": 1.379,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "over_2_5_goals",
        "selection": "yes",
        "estimate": 2.5,
        "probability": 0.573,
        "unit": "probability"
      },
      {
        "market": "both_teams_to_score",
        "selection": "yes",
        "estimate": 1.0,
        "probability": 0.5985,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Sevilla",
        "estimate": 1.0,
        "probability": 0.2518,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Alavés",
        "estimate": 1.0,
        "probability": 0.2011,
        "unit": "probability"
      },
      {
        "market": "anytime_goal",
        "selection": "Youssouf Fofana (Sevilla)",
        "estimate": 0.2785,
        "probability": 0.2431,
        "unit": "xG"
      },
      {
        "market": "anytime_goal",
        "selection": "Lucas Boyé (Alavés)",
        "estimate": 0.4367,
        "probability": 0.3538,
        "unit": "xG"
      },
      {
        "market": "assist",
        "selection": "Gabriel Suazo (Sevilla)",
        "estimate": 0.2311,
        "probability": 0.2063,
        "unit": "xA"
      },
      {
        "market": "assist",
        "selection": "Ángel Pérez (Alavés)",
        "estimate": 0.2361,
        "probability": 0.2103,
        "unit": "xA"
      }
    ],
    "expected_pace": {
      "tempo": "balanced",
      "expected_total_goals": 2.983,
      "expected_total_shots": 23,
      "expected_total_passes": 762,
      "expected_pressing_actions_per_90": 13.4,
      "possession_home_pct": 50.8,
      "possession_away_pct": 49.2,
      "notes": "possession projects near even"
    },
    "expected_game_script": {
      "favorite": "Sevilla",
      "favorite_win_probability": 0.4276,
      "script": "Sevilla is the fair winner side, but the baseline remains narrow: fair spread +0.23 goals and fair total 2.98.",
      "first_half": "Expect balanced tempo while both sides test the matchup thesis; shot baseline is about 12 first-half attempts.",
      "second_half": "If level after halftime, midfield control and bench quality should decide territory; Alavés must keep the match inside one goal.",
      "late_game": "A Sevilla lead likely shifts toward control and counters; a draw state keeps set pieces and transition chances live."
    },
    "key_matchup_thesis": "Alavés chance creation leans on Lucas Boyé against Kike Salas, Marcão in Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle; possession projects near even.",
    "expected_rotation_usage_behavior": [
      "Sevilla: starters carry the main goal usage through Youssouf Fofana, Miguel Sierra; bench watchlist: Lucas Stassin, Rubén Vargas, Manu Bueno.",
      "Alavés: starters carry the main goal usage through Lucas Boyé; bench watchlist: Miguel Rodríguez, Ander Guevara, Carles Aleñá.",
      "Assist usage should flow through Gabriel Suazo, Youssouf Fofana, Ángel Pérez; late lineup changes should re-score these allocations."
    ],
    "pregame_play_by_play": [
      "0-15: Sevilla tries to establish the projected edge; track possession and first-shot share.",
      "15-45: Baseline expects balanced tempo, about 12 total first-half shots, and 1.49 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 Alavés 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 Sevilla.",
      "Alavés 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": {
    "Sevilla": {
      "formation": "4-2-3-1",
      "players": {
        "Odysseas Vlachodimos": {
          "player_id": 138149,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 1,
          "height": 191,
          "market_value": 3200000,
          "stats": {
            "saves": 3,
            "goals_prevented": -0.0624,
            "rating": 6.8372,
            "minutes": 90,
            "total_pass": 23,
            "accurate_pass": 12,
            "total_long_balls": 17,
            "accurate_long_balls": 6,
            "touches": 32,
            "clearances": 2,
            "ball_recovery": 8,
            "high_claims": 1,
            "punches": 1.4719,
            "aerial_won": 1,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 1,
            "possession_lost": 10.7577,
            "duels_won": 1,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 10,
            "accurate_own_half_passes": 8,
            "gk_engine_opponent_lambda": 1.2967,
            "shots_faced": 13.1,
            "expected_saves": 3.21,
            "high_pressure_saves": 1.1,
            "opponent_faced": "Lucas Boyé, Ángel Pérez",
            "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_type": "played",
              "match_id": 16421093.0,
              "match_date": "2026-11-01 13:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Getafe",
              "away_team": "Sevilla",
              "home_score_current": 3.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "lineup.csv"
            },
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "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": 20,
                "accurate_pass": 8,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 9,
                "saves": 2,
                "goals_prevented": 0.0273
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 5.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0007,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 12,
                "clearances": 1,
                "ball_recovery": 6,
                "saves": 3,
                "goals_prevented": -1.1843
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063.0,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 10,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 13,
                "saves": 5,
                "goals_prevented": -0.0484
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416349.0,
              "match_date": "2026-09-19",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0025,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 14,
                "ball_recovery": 6,
                "saves": 5,
                "goals_prevented": -1.3841
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 8.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 12,
                "clearances": 1,
                "ball_recovery": 4,
                "saves": 3,
                "goals_prevented": 0.9487
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 9,
                "clearances": 1,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 12,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 6,
                "saves": 2,
                "goals_prevented": 0.3787
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0048,
                "total_shots": 0,
                "total_pass": 19,
                "accurate_pass": 12,
                "ball_recovery": 5,
                "saves": 2,
                "goals_prevented": -1.758
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 19,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 16,
                "saves": 6,
                "goals_prevented": 0.2996
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1276,
            "combined_rank_score": 554.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 157.0,
            "sofascore_rating": 7.3,
            "sofascore_appearances": 1.0,
            "fifa_rank": 951.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8372,
            "source_file": "data/player_rankings.csv",
            "player_name": "Odysseas Vlachodimos",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Giorgi Papava",
                  "ranking": 1271
                },
                {
                  "player_name": "Pablo Gavi",
                  "ranking": 1272
                },
                {
                  "player_name": "Martin Boakye",
                  "ranking": 1273
                },
                {
                  "player_name": "Rodrigo Caseres",
                  "ranking": 1274
                },
                {
                  "player_name": "Henrikh Mkhitaryan",
                  "ranking": 1275
                }
              ],
              "lower": [
                {
                  "player_name": "Diego Céspedes",
                  "ranking": 1277
                },
                {
                  "player_name": "Gi-pyo Kwon",
                  "ranking": 1278
                },
                {
                  "player_name": "Jeon Hyeon-byung",
                  "ranking": 1279
                },
                {
                  "player_name": "Nikita Demchenko",
                  "ranking": 1280
                },
                {
                  "player_name": "Alessio Romagnoli",
                  "ranking": 1281
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 43,
          "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": 43,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.998,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (G_service) evaluated 43 historical appearances across 3 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.20, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 2.8053,
                "goals_prevented": -0.0626,
                "rating": 6.8372,
                "minutes": 90.0,
                "total_pass": 23.097,
                "accurate_pass": 12.3744,
                "total_long_balls": 16.8901,
                "accurate_long_balls": 6.2744,
                "touches": 31.8122,
                "clearances": 1.5731,
                "ball_recovery": 7.8189,
                "high_claims": 0.6791,
                "punches": 1.4748,
                "aerial_won": 0.5226,
                "sweeper_actions": 0.312,
                "sweeper_accurate": 0.312,
                "saves_inside_box": 1.3946,
                "possession_lost": 10.7793,
                "duels_won": 0.5816,
                "duels_lost": 0.128,
                "total_contest": 0.0081,
                "won_contest": 0.0081,
                "fouls": 0.0,
                "fouls_drawn": 0.0509,
                "total_own_half_passes": 9.7842,
                "accurate_own_half_passes": 8.1948
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 5,
                  "trained_at": "2026-11-03T11:03:54.268655+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 201,
                    "rows": 7418
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 5.5
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Levante UD",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 8.3
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 5.7
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 7.3
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "accurateOwnHalfPasses": 8.1948,
                  "accurateLongBalls": 6.2744,
                  "possessionLostCtrl": 10.7793,
                  "goalkeeperValueNormalized": -0.1119,
                  "sweeper_accuracy": 0.1519,
                  "accurateKeeperSweeper": 0.3675
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.8052875995635986,
                    "model_output": 2.8053,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "save_contribution",
                        "importance": 0.0391
                      },
                      {
                        "name": "goalsPrevented",
                        "importance": 0.0375
                      },
                      {
                        "name": "savedShotsFromInsideTheBox",
                        "importance": 0.0373
                      },
                      {
                        "name": "accurateLongBalls",
                        "importance": 0.0364
                      },
                      {
                        "name": "rating",
                        "importance": 0.0359
                      }
                    ],
                    "decomposition": {
                      "base": 2.922,
                      "items": [
                        {
                          "name": "accuratePass",
                          "contribution": 0.072
                        },
                        {
                          "name": "savedShotsFromInsideTheBox",
                          "contribution": -0.0547
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0397
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.0326
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "contribution": -0.0249
                        }
                      ],
                      "others": -0.0368,
                      "total": 2.8053,
                      "log_link": true,
                      "margin_base": 1.072276,
                      "item_margins": [
                        {
                          "name": "accuratePass",
                          "margin": 0.024354
                        },
                        {
                          "name": "savedShotsFromInsideTheBox",
                          "margin": -0.018422
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.013607
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.011303
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "margin": -0.008731
                        }
                      ],
                      "others_margin": -0.013061
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": -0.06256712228059769,
                    "model_output": -0.0626,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0381
                      },
                      {
                        "name": "totalOwnHalfPasses",
                        "importance": 0.0373
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0364
                      },
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0359
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0355
                      }
                    ],
                    "decomposition": {
                      "base": -0.0283,
                      "items": [
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": 0.0348
                        },
                        {
                          "name": "punches",
                          "contribution": -0.0226
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0223
                        },
                        {
                          "name": "accurateLongBalls",
                          "contribution": 0.0213
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.016
                        }
                      ],
                      "others": -0.0295,
                      "total": -0.0626,
                      "log_link": false,
                      "margin_base": -0.028288,
                      "item_margins": [
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": 0.034789
                        },
                        {
                          "name": "punches",
                          "margin": -0.022586
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.022285
                        },
                        {
                          "name": "accurateLongBalls",
                          "margin": 0.021253
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.01599
                        }
                      ],
                      "others_margin": -0.029459
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.837230205535889,
                    "model_output": 6.8372,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0399
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0395
                      },
                      {
                        "name": "goalkeeperValueNormalized",
                        "importance": 0.0383
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0383
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0363
                      }
                    ],
                    "decomposition": {
                      "base": 6.9871,
                      "items": [
                        {
                          "name": "totalOwnHalfPasses",
                          "contribution": -0.0298
                        },
                        {
                          "name": "totalKeeperSweeper",
                          "contribution": -0.0203
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0196
                        },
                        {
                          "name": "savedShotsFromInsideTheBox",
                          "contribution": -0.0183
                        },
                        {
                          "name": "sweeper_accuracy",
                          "contribution": -0.0118
                        }
                      ],
                      "others": -0.0501,
                      "total": 6.8372,
                      "log_link": false,
                      "margin_base": 6.987111,
                      "item_margins": [
                        {
                          "name": "totalOwnHalfPasses",
                          "margin": -0.029797
                        },
                        {
                          "name": "totalKeeperSweeper",
                          "margin": -0.02031
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.019647
                        },
                        {
                          "name": "savedShotsFromInsideTheBox",
                          "margin": -0.018347
                        },
                        {
                          "name": "sweeper_accuracy",
                          "margin": -0.011783
                        }
                      ],
                      "others_margin": -0.049997
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 43,
                  "role_matches": 43,
                  "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.440)",
              "stats": {
                "saves": 2.7997,
                "goals_prevented": -0.0624,
                "rating": 6.8372,
                "minutes": 90.0,
                "total_pass": 23.0508,
                "accurate_pass": 12.3497,
                "total_long_balls": 16.8563,
                "accurate_long_balls": 6.2619,
                "touches": 31.7486,
                "clearances": 1.57,
                "ball_recovery": 7.8033,
                "high_claims": 0.6777,
                "punches": 1.4719,
                "aerial_won": 0.5216,
                "sweeper_actions": 0.3114,
                "sweeper_accurate": 0.3114,
                "saves_inside_box": 1.3918,
                "possession_lost": 10.7577,
                "duels_won": 0.5804,
                "duels_lost": 0.1277,
                "total_contest": 0.0081,
                "won_contest": 0.0081,
                "fouls": 0.0,
                "fouls_drawn": 0.0508,
                "total_own_half_passes": 9.7646,
                "accurate_own_half_passes": 8.1784
              },
              "params": {
                "market_value_eur": 3200000,
                "quality_factor": 0.4399,
                "boost_factor": 0.998,
                "reference_quality": 0.505,
                "history_matches": 43,
                "history_shrink": 0.1042,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0135)",
              "stats": {
                "saves": 2.8069,
                "goals_prevented": -0.0624,
                "rating": 6.8372,
                "minutes": 90.0,
                "total_pass": 23.0508,
                "accurate_pass": 12.3497,
                "total_long_balls": 16.8563,
                "accurate_long_balls": 6.2619,
                "touches": 31.7486,
                "clearances": 1.57,
                "ball_recovery": 7.8033,
                "high_claims": 0.6777,
                "punches": 1.4719,
                "aerial_won": 0.5216,
                "sweeper_actions": 0.3114,
                "sweeper_accurate": 0.3114,
                "saves_inside_box": 1.3918,
                "possession_lost": 10.7577,
                "duels_won": 0.5804,
                "duels_lost": 0.1277,
                "total_contest": 0.0081,
                "won_contest": 0.0081,
                "fouls": 0.0,
                "fouls_drawn": 0.0501,
                "total_own_half_passes": 9.7646,
                "accurate_own_half_passes": 8.1784
              },
              "params": {
                "blend_weight": 0.0135,
                "history_matches": 43,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 1.0,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Sevilla"
              },
              "changes": [
                {
                  "stat": "saves",
                  "before": 2.7997,
                  "after": 2.8069
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 2.8069,
                "goals_prevented": -0.0624,
                "rating": 6.8372,
                "minutes": 90.0,
                "total_pass": 23.0508,
                "accurate_pass": 12.3497,
                "total_long_balls": 16.8563,
                "accurate_long_balls": 6.2619,
                "touches": 31.7486,
                "clearances": 1.57,
                "ball_recovery": 7.8033,
                "high_claims": 0.6777,
                "punches": 1.4719,
                "aerial_won": 0.5216,
                "sweeper_actions": 0.3114,
                "sweeper_accurate": 0.3114,
                "saves_inside_box": 1.3918,
                "possession_lost": 10.7577,
                "duels_won": 0.5804,
                "duels_lost": 0.1277,
                "total_contest": 0.0081,
                "won_contest": 0.0081,
                "fouls": 0.0,
                "fouls_drawn": 0.0501,
                "total_own_half_passes": 9.7646,
                "accurate_own_half_passes": 8.1784
              },
              "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.8069,
                "goals_prevented": -0.0624,
                "rating": 6.8372,
                "minutes": 90.0,
                "total_pass": 23.0508,
                "accurate_pass": 12.3497,
                "total_long_balls": 16.8563,
                "accurate_long_balls": 6.2619,
                "touches": 31.7486,
                "clearances": 1.57,
                "ball_recovery": 7.8033,
                "high_claims": 0.6777,
                "punches": 1.4719,
                "aerial_won": 0.5216,
                "sweeper_actions": 0.3114,
                "sweeper_accurate": 0.3114,
                "saves_inside_box": 1.3918,
                "possession_lost": 10.7577,
                "duels_won": 0.5804,
                "duels_lost": 0.1277,
                "total_contest": 0.0081,
                "won_contest": 0.0081,
                "fouls": 0.0,
                "fouls_drawn": 0.0501,
                "total_own_half_passes": 9.7646,
                "accurate_own_half_passes": 8.1784,
                "gk_engine_opponent_lambda": 1.2967,
                "shots_faced": 12.3,
                "expected_saves": 3.01,
                "high_pressure_saves": 1.04,
                "opponent_faced": "Lucas Boyé, Ángel Pérez",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Lucas Boyé, Ángel Pérez",
                  "matchup_zone": "Goalkeeper shot-stopping context",
                  "opponent_lambda": 1.2967
                }
              }
            },
            {
              "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.8069,
                "goals_prevented": -0.0624,
                "rating": 6.8372,
                "minutes": 90.0,
                "total_pass": 23.0508,
                "accurate_pass": 12.3497,
                "total_long_balls": 16.8563,
                "accurate_long_balls": 6.2619,
                "touches": 31.7486,
                "clearances": 1.57,
                "ball_recovery": 7.8033,
                "high_claims": 0.6777,
                "punches": 1.4719,
                "aerial_won": 0.5216,
                "sweeper_actions": 0.3114,
                "sweeper_accurate": 0.3114,
                "saves_inside_box": 1.3918,
                "possession_lost": 10.7577,
                "duels_won": 0.5804,
                "duels_lost": 0.1277,
                "total_contest": 0.0081,
                "won_contest": 0.0081,
                "fouls": 0.0,
                "fouls_drawn": 0.0501,
                "total_own_half_passes": 9.7646,
                "accurate_own_half_passes": 8.1784,
                "gk_engine_opponent_lambda": 1.2967,
                "shots_faced": 12.3,
                "expected_saves": 3.01,
                "high_pressure_saves": 1.04,
                "opponent_faced": "Lucas Boyé, Ángel Pérez",
                "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": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "saves": 2.8069,
                "goals_prevented": -0.0624,
                "rating": 6.8372,
                "minutes": 90.0,
                "total_pass": 23.0508,
                "accurate_pass": 12.3497,
                "total_long_balls": 16.8563,
                "accurate_long_balls": 6.2619,
                "touches": 31.7486,
                "clearances": 1.57,
                "ball_recovery": 7.8033,
                "high_claims": 0.6777,
                "punches": 1.4719,
                "aerial_won": 0.5216,
                "sweeper_actions": 0.3114,
                "sweeper_accurate": 0.3114,
                "saves_inside_box": 1.3918,
                "possession_lost": 10.7577,
                "duels_won": 0.5804,
                "duels_lost": 0.1277,
                "total_contest": 0.0081,
                "won_contest": 0.0081,
                "fouls": 0.0,
                "fouls_drawn": 0.0501,
                "total_own_half_passes": 9.7646,
                "accurate_own_half_passes": 8.1784,
                "gk_engine_opponent_lambda": 1.2967,
                "shots_faced": 13.1,
                "expected_saves": 3.21,
                "high_pressure_saves": 1.1,
                "opponent_faced": "Lucas Boyé, Ángel Pérez",
                "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.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "shots_faced",
                  "before": 12.3,
                  "after": 13.1
                },
                {
                  "stat": "expected_saves",
                  "before": 3.01,
                  "after": 3.21
                },
                {
                  "stat": "high_pressure_saves",
                  "before": 1.04,
                  "after": 1.1
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 6 by projected rating, fifa_overall 79.0)",
              "stats": {
                "saves": 2.8069,
                "goals_prevented": -0.0624,
                "rating": 6.8372,
                "minutes": 90.0,
                "total_pass": 23.0508,
                "accurate_pass": 12.3497,
                "total_long_balls": 16.8563,
                "accurate_long_balls": 6.2619,
                "touches": 31.7486,
                "clearances": 1.57,
                "ball_recovery": 7.8033,
                "high_claims": 0.6777,
                "punches": 1.4719,
                "aerial_won": 0.5216,
                "sweeper_actions": 0.3114,
                "sweeper_accurate": 0.3114,
                "saves_inside_box": 1.3918,
                "possession_lost": 10.7577,
                "duels_won": 0.5804,
                "duels_lost": 0.1277,
                "total_contest": 0.0081,
                "won_contest": 0.0081,
                "fouls": 0.0,
                "fouls_drawn": 0.0501,
                "total_own_half_passes": 9.7646,
                "accurate_own_half_passes": 8.1784,
                "gk_engine_opponent_lambda": 1.2967,
                "shots_faced": 13.1,
                "expected_saves": 3.21,
                "high_pressure_saves": 1.1,
                "opponent_faced": "Lucas Boyé, Ángel Pérez",
                "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": 6,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1276,
                "fifa_rank": 951.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "saves": 2.8069,
                "goals_prevented": -0.0624,
                "rating": 6.8372,
                "minutes": 90.0,
                "total_pass": 23.0508,
                "accurate_pass": 12.3497,
                "total_long_balls": 16.8563,
                "accurate_long_balls": 6.2619,
                "touches": 31.7486,
                "clearances": 1.57,
                "ball_recovery": 7.8033,
                "high_claims": 0.6777,
                "punches": 1.4719,
                "aerial_won": 0.5216,
                "sweeper_actions": 0.3114,
                "sweeper_accurate": 0.3114,
                "saves_inside_box": 1.3918,
                "possession_lost": 10.7577,
                "duels_won": 0.5804,
                "duels_lost": 0.1277,
                "total_contest": 0.0081,
                "won_contest": 0.0081,
                "fouls": 0.0,
                "fouls_drawn": 0.0501,
                "total_own_half_passes": 9.7646,
                "accurate_own_half_passes": 8.1784,
                "gk_engine_opponent_lambda": 1.2967,
                "shots_faced": 13.1,
                "expected_saves": 3.21,
                "high_pressure_saves": 1.1,
                "opponent_faced": "Lucas Boyé, Ángel Pérez",
                "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": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.0,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0,
                "finishing_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "saves": 2.8069,
                "goals_prevented": -0.0624,
                "rating": 6.8372,
                "minutes": 90.0,
                "total_pass": 23.0508,
                "accurate_pass": 12.3497,
                "total_long_balls": 16.8563,
                "accurate_long_balls": 6.2619,
                "touches": 31.7486,
                "clearances": 1.57,
                "ball_recovery": 7.8033,
                "high_claims": 0.6777,
                "punches": 1.4719,
                "aerial_won": 0.5216,
                "sweeper_actions": 0.3114,
                "sweeper_accurate": 0.3114,
                "saves_inside_box": 1.3918,
                "possession_lost": 10.7577,
                "duels_won": 0.5804,
                "duels_lost": 0.1277,
                "total_contest": 0.0081,
                "won_contest": 0.0081,
                "fouls": 0.0,
                "fouls_drawn": 0.0501,
                "total_own_half_passes": 9.7646,
                "accurate_own_half_passes": 8.1784,
                "gk_engine_opponent_lambda": 1.2967,
                "shots_faced": 13.1,
                "expected_saves": 3.21,
                "high_pressure_saves": 1.1,
                "opponent_faced": "Lucas Boyé, Ángel Pérez",
                "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": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0,
                "creation_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Kike Salas": {
          "player_id": 1097719,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 4,
          "height": 186,
          "market_value": 15400000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 6,
            "aerial_won": 3,
            "total_shots": 1,
            "rating": 6.8792,
            "minutes": 90,
            "total_pass": 45,
            "accurate_pass": 36,
            "duels_won": 6,
            "total_long_balls": 10,
            "accurate_long_balls": 4,
            "total_own_half_passes": 24,
            "accurate_own_half_passes": 23,
            "total_opp_half_passes": 21,
            "accurate_opp_half_passes": 13,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 60,
            "possession_lost": 11.0214,
            "dispossessed": 0.1123,
            "duels_lost": 4,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0336,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.1058,
            "expected_assists": 0.0662,
            "shots_on_target": 1,
            "big_chances_created": 0,
            "xgot": 0.0991,
            "ball_carries": 13,
            "total_progression": 37,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 0.9,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Lucas Boyé",
            "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.1004,
            "projected_assists": 0,
            "assist_probability": 0.0641,
            "finishing_factor": 0.8,
            "creation_factor": 0.8,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16421093.0,
              "match_date": "2026-11-01 13:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Getafe",
              "away_team": "Sevilla",
              "home_score_current": 3.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "lineup.csv"
            },
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1332,
                "expected_assists": 0.0737,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "total_pass": 46,
                "accurate_pass": 38,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 0,
                "clearances": 7,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.026,
                "expected_assists": 0.0131,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 38,
                "accurate_pass": 32,
                "tackles": 2,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063.0,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0082,
                "total_shots": 0,
                "total_pass": 51,
                "accurate_pass": 42,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 12,
                "aerial_won": 6,
                "duels_won": 8,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0177,
                "expected_assists": 0.0081,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 50,
                "accurate_pass": 40,
                "key_pass": 1,
                "tackles": 1,
                "clearances": 5,
                "aerial_won": 3,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0958,
                "expected_assists": 0.2021,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 43,
                "accurate_pass": 37,
                "tackles": 3,
                "tackles_won": 1,
                "clearances": 7,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 9
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.012,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 18,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 6,
                "duels_won": 8,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0486,
                "expected_assists": 0.0278,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 56,
                "accurate_pass": 41,
                "tackles": 1,
                "clearances": 4,
                "aerial_won": 5,
                "duels_won": 8,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 88,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0101,
                "expected_assists": 0.0341,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 44,
                "accurate_pass": 31,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 3,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083715.0,
              "match_date": "2026-05-23",
              "home_team": "Celta Vigo",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0028,
                "total_shots": 0,
                "total_pass": 49,
                "accurate_pass": 39,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 3204,
            "combined_rank_score": 1158.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 330.0,
            "sofascore_rating": 7.0115,
            "sofascore_appearances": 26.0,
            "fifa_rank": 1986.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8792,
            "source_file": "data/player_rankings.csv",
            "player_name": "Kike Salas",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Juan Iglesias",
                  "ranking": 3199
                },
                {
                  "player_name": "Thierno Barry",
                  "ranking": 3200
                },
                {
                  "player_name": "Tiago Palacios",
                  "ranking": 3201
                },
                {
                  "player_name": "Frederik Rønnow",
                  "ranking": 3202
                },
                {
                  "player_name": "David Affengruber",
                  "ranking": 3203
                }
              ],
              "lower": [
                {
                  "player_name": "Franck Honorat",
                  "ranking": 3205
                },
                {
                  "player_name": "Djibril Sow",
                  "ranking": 3206
                },
                {
                  "player_name": "Pepelu",
                  "ranking": 3207
                },
                {
                  "player_name": "Dayann Methalie",
                  "ranking": 3208
                },
                {
                  "player_name": "Robin Gosens",
                  "ranking": 3209
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.77,
          "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.77,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.003,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 177.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 1.53,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (D_service) evaluated 34 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1.0787,
                "tackles": 1.9523,
                "tackles_won": 1.2006,
                "clearances": 5.8401,
                "aerial_won": 2.8533,
                "total_shots": 0.9506,
                "rating": 6.8792,
                "minutes": 89.89,
                "total_pass": 45.0544,
                "accurate_pass": 35.8308,
                "duels_won": 5.8429,
                "total_long_balls": 9.8824,
                "accurate_long_balls": 3.8213,
                "total_own_half_passes": 24.2919,
                "accurate_own_half_passes": 22.7693,
                "total_opp_half_passes": 20.7625,
                "accurate_opp_half_passes": 13.0615,
                "crosses_total": 0.4394,
                "crosses_accurate": 0.0772,
                "touches": 59.949,
                "possession_lost": 10.9884,
                "dispossessed": 0.112,
                "duels_lost": 4.337,
                "aerial_lost": 1.8313,
                "total_contest": 0.3812,
                "won_contest": 0.078,
                "ball_recovery": 4.4841,
                "challenges_lost": 0.9428,
                "fouls": 1.2397,
                "fouls_drawn": 0.5464,
                "blocks": 0.592,
                "goals": 0.0339,
                "goal_rate": 0.0339,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0585,
                "expected_assists": 0.0411,
                "shots_on_target": 0.5605,
                "big_chances_created": 0.0,
                "xgot": 0.0548,
                "ball_carries": 12.6098,
                "total_progression": 37.3006,
                "progressive_carries": 0.2762,
                "key_pass": 0.3685,
                "shots_off_target": 0.3901
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1506,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.128,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Levante UD",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1088,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0925,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0786,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0668,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.0483,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.041,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0349,
                    "rating": 7.5
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 6.2498,
                  "aerialWon": 3.2493,
                  "totalClearance_p90": 6.2614,
                  "totalTackle": 2.0889,
                  "totalTackle_p90": 2.0967
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.0786948204040527,
                    "model_output": 1.0787,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0983
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0891
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0254
                        },
                        {
                          "name": "touches",
                          "contribution": 0.017
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0137
                        }
                      ],
                      "others": 0.1423,
                      "total": 1.0787,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.106881
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.096366
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.028492
                        },
                        {
                          "name": "touches",
                          "margin": 0.018561
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.014755
                        }
                      ],
                      "others_margin": 0.141397
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.952304720878601,
                    "model_output": 1.9523,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1774
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.1123
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.1023
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.1025
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0906
                        }
                      ],
                      "others": -0.0203,
                      "total": 1.9523,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.120297
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.069292
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.0592
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.056022
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.047023
                        }
                      ],
                      "others_margin": -0.010325
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.2006484270095825,
                    "model_output": 1.2006,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1027
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.1028
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0915
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0637
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0607
                        }
                      ],
                      "others": -0.069,
                      "total": 1.2006,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.114286
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.102658
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.083294
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.054092
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.049017
                        }
                      ],
                      "others_margin": -0.055872
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 5.840113639831543,
                    "model_output": 5.8401,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "totalClearance",
                          "contribution": 0.8064
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.582
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.5114
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.4273
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.379
                        }
                      ],
                      "others": -0.2817,
                      "total": 5.8401,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "totalClearance",
                          "margin": 0.211947
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.12914
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.101152
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.077317
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.063911
                        }
                      ],
                      "others_margin": -0.0471
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 2.8533475399017334,
                    "model_output": 2.8533,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": 0.69
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2379
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.2228
                        },
                        {
                          "name": "aerialLost",
                          "contribution": 0.1573
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.1373
                        }
                      ],
                      "others": 0.0383,
                      "total": 2.8533,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": 0.407975
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.1093
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.092562
                        },
                        {
                          "name": "aerialLost",
                          "margin": 0.060532
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.05001
                        }
                      ],
                      "others_margin": 0.013521
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.9505985975265503,
                    "model_output": 0.9506,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.2349
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0535
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0496
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0216
                        },
                        {
                          "name": "duelLost",
                          "contribution": 0.0194
                        }
                      ],
                      "others": 0.0904,
                      "total": 0.9506,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.234904
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.053459
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.049565
                        },
                        {
                          "name": "history_matches",
                          "margin": 0.021587
                        },
                        {
                          "name": "duelLost",
                          "margin": 0.019415
                        }
                      ],
                      "others_margin": 0.09042
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.879242897033691,
                    "model_output": 6.8792,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": 0.0315
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.029
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0157
                        },
                        {
                          "name": "rating",
                          "contribution": 0.014
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0108
                        }
                      ],
                      "others": 0.0108,
                      "total": 6.8792,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": 0.031466
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.02898
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.015703
                        },
                        {
                          "name": "rating",
                          "margin": 0.013983
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.010757
                        }
                      ],
                      "others_margin": 0.010979
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 34,
                  "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.0030, quality 0.584)",
              "stats": {
                "interceptions": 1.0819,
                "tackles": 1.9582,
                "tackles_won": 1.2043,
                "clearances": 5.8576,
                "aerial_won": 2.8619,
                "total_shots": 0.9535,
                "rating": 6.8792,
                "minutes": 89.89,
                "total_pass": 45.1896,
                "accurate_pass": 35.9383,
                "duels_won": 5.8604,
                "total_long_balls": 9.912,
                "accurate_long_balls": 3.8328,
                "total_own_half_passes": 24.3648,
                "accurate_own_half_passes": 22.8376,
                "total_opp_half_passes": 20.8248,
                "accurate_opp_half_passes": 13.1007,
                "crosses_total": 0.4407,
                "crosses_accurate": 0.0774,
                "touches": 60.1288,
                "possession_lost": 11.0214,
                "dispossessed": 0.1123,
                "duels_lost": 4.35,
                "aerial_lost": 1.8368,
                "total_contest": 0.3823,
                "won_contest": 0.0782,
                "ball_recovery": 4.4976,
                "challenges_lost": 0.9456,
                "fouls": 1.2434,
                "fouls_drawn": 0.548,
                "blocks": 0.5938,
                "goals": 0.034,
                "goal_rate": 0.034,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0587,
                "expected_assists": 0.0412,
                "shots_on_target": 0.5622,
                "big_chances_created": 0.0,
                "xgot": 0.055,
                "ball_carries": 12.6476,
                "total_progression": 37.4125,
                "progressive_carries": 0.277,
                "key_pass": 0.3696,
                "shots_off_target": 0.3913
              },
              "params": {
                "market_value_eur": 15400000,
                "quality_factor": 0.5835,
                "boost_factor": 1.003,
                "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.0111)",
              "stats": {
                "interceptions": 1.081,
                "tackles": 1.9582,
                "tackles_won": 1.202,
                "clearances": 5.8576,
                "aerial_won": 2.8619,
                "total_shots": 0.9599,
                "rating": 6.8792,
                "minutes": 89.89,
                "total_pass": 45.1896,
                "accurate_pass": 35.9383,
                "duels_won": 5.8604,
                "total_long_balls": 9.912,
                "accurate_long_balls": 3.8328,
                "total_own_half_passes": 24.3648,
                "accurate_own_half_passes": 22.8376,
                "total_opp_half_passes": 20.8248,
                "accurate_opp_half_passes": 13.1007,
                "crosses_total": 0.4358,
                "crosses_accurate": 0.0774,
                "touches": 60.1288,
                "possession_lost": 11.0214,
                "dispossessed": 0.1123,
                "duels_lost": 4.35,
                "aerial_lost": 1.8368,
                "total_contest": 0.3823,
                "won_contest": 0.0782,
                "ball_recovery": 4.4976,
                "challenges_lost": 0.9456,
                "fouls": 1.2462,
                "fouls_drawn": 0.5586,
                "blocks": 0.5938,
                "goals": 0.0336,
                "goal_rate": 0.0336,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0587,
                "expected_assists": 0.0412,
                "shots_on_target": 0.556,
                "big_chances_created": 0.0,
                "xgot": 0.055,
                "ball_carries": 12.6476,
                "total_progression": 37.4125,
                "progressive_carries": 0.277,
                "key_pass": 0.3696,
                "shots_off_target": 0.3913
              },
              "params": {
                "blend_weight": 0.0111,
                "history_matches": 34,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9988,
                "prior_reliability": 0.1333,
                "competition": "La Liga",
                "squad": "Sevilla"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 0.548,
                  "after": 0.5586
                },
                {
                  "stat": "totalShots",
                  "before": 0.9535,
                  "after": 0.9599
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.5622,
                  "after": 0.556
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.081,
                "tackles": 1.9582,
                "tackles_won": 1.202,
                "clearances": 5.8576,
                "aerial_won": 2.8619,
                "total_shots": 0.9599,
                "rating": 6.8792,
                "minutes": 89.89,
                "total_pass": 45.1896,
                "accurate_pass": 35.9383,
                "duels_won": 5.8604,
                "total_long_balls": 9.912,
                "accurate_long_balls": 3.8328,
                "total_own_half_passes": 24.3648,
                "accurate_own_half_passes": 22.8376,
                "total_opp_half_passes": 20.8248,
                "accurate_opp_half_passes": 13.1007,
                "crosses_total": 0.4358,
                "crosses_accurate": 0.0774,
                "touches": 60.1288,
                "possession_lost": 11.0214,
                "dispossessed": 0.1123,
                "duels_lost": 4.35,
                "aerial_lost": 1.8368,
                "total_contest": 0.3823,
                "won_contest": 0.0782,
                "ball_recovery": 4.4976,
                "challenges_lost": 0.9456,
                "fouls": 1.2462,
                "fouls_drawn": 0.5586,
                "blocks": 0.5938,
                "goals": 0.0336,
                "goal_rate": 0.0336,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0587,
                "expected_assists": 0.0412,
                "shots_on_target": 0.556,
                "big_chances_created": 0.0,
                "xgot": 0.055,
                "ball_carries": 12.6476,
                "total_progression": 37.4125,
                "progressive_carries": 0.277,
                "key_pass": 0.3696,
                "shots_off_target": 0.3913
              },
              "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.081,
                "tackles": 1.9582,
                "tackles_won": 1.202,
                "clearances": 5.8576,
                "aerial_won": 2.8619,
                "total_shots": 0.9599,
                "rating": 6.8792,
                "minutes": 89.89,
                "total_pass": 45.1896,
                "accurate_pass": 35.9383,
                "duels_won": 5.8604,
                "total_long_balls": 9.912,
                "accurate_long_balls": 3.8328,
                "total_own_half_passes": 24.3648,
                "accurate_own_half_passes": 22.8376,
                "total_opp_half_passes": 20.8248,
                "accurate_opp_half_passes": 13.1007,
                "crosses_total": 0.4358,
                "crosses_accurate": 0.0774,
                "touches": 60.1288,
                "possession_lost": 11.0214,
                "dispossessed": 0.1123,
                "duels_lost": 4.35,
                "aerial_lost": 1.8368,
                "total_contest": 0.3823,
                "won_contest": 0.0782,
                "ball_recovery": 4.4976,
                "challenges_lost": 0.9456,
                "fouls": 1.2462,
                "fouls_drawn": 0.5586,
                "blocks": 0.5938,
                "goals": 0.0336,
                "goal_rate": 0.0336,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0587,
                "expected_assists": 0.0412,
                "shots_on_target": 0.556,
                "big_chances_created": 0.0,
                "xgot": 0.055,
                "ball_carries": 12.6476,
                "total_progression": 37.4125,
                "progressive_carries": 0.277,
                "key_pass": 0.3696,
                "shots_off_target": 0.3913,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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": "Lucas Boyé",
                  "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": 1.081,
                "tackles": 1.9582,
                "tackles_won": 1.202,
                "clearances": 5.8576,
                "aerial_won": 2.8619,
                "total_shots": 0.9599,
                "rating": 6.8792,
                "minutes": 89.89,
                "total_pass": 45.1896,
                "accurate_pass": 35.9383,
                "duels_won": 5.8604,
                "total_long_balls": 9.912,
                "accurate_long_balls": 3.8328,
                "total_own_half_passes": 24.3648,
                "accurate_own_half_passes": 22.8376,
                "total_opp_half_passes": 20.8248,
                "accurate_opp_half_passes": 13.1007,
                "crosses_total": 0.4358,
                "crosses_accurate": 0.0774,
                "touches": 60.1288,
                "possession_lost": 11.0214,
                "dispossessed": 0.1123,
                "duels_lost": 4.35,
                "aerial_lost": 1.8368,
                "total_contest": 0.3823,
                "won_contest": 0.0782,
                "ball_recovery": 4.4976,
                "challenges_lost": 0.9456,
                "fouls": 1.2462,
                "fouls_drawn": 0.5586,
                "blocks": 0.5938,
                "goal_rate": 0.0336,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0587,
                "expected_assists": 0.0412,
                "shots_on_target": 0.556,
                "big_chances_created": 0.0,
                "xgot": 0.055,
                "ball_carries": 12.6476,
                "total_progression": 37.4125,
                "progressive_carries": 0.277,
                "key_pass": 0.3696,
                "shots_off_target": 0.3913,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "interceptions": 1.081,
                "tackles": 1.9582,
                "tackles_won": 1.202,
                "clearances": 5.8576,
                "aerial_won": 2.8619,
                "total_shots": 0.9599,
                "rating": 6.8792,
                "minutes": 89.89,
                "total_pass": 45.1896,
                "accurate_pass": 35.9383,
                "duels_won": 5.8604,
                "total_long_balls": 9.912,
                "accurate_long_balls": 3.8328,
                "total_own_half_passes": 24.3648,
                "accurate_own_half_passes": 22.8376,
                "total_opp_half_passes": 20.8248,
                "accurate_opp_half_passes": 13.1007,
                "crosses_total": 0.4358,
                "crosses_accurate": 0.0774,
                "touches": 60.1288,
                "possession_lost": 11.0214,
                "dispossessed": 0.1123,
                "duels_lost": 4.35,
                "aerial_lost": 1.8368,
                "total_contest": 0.3823,
                "won_contest": 0.0782,
                "ball_recovery": 4.4976,
                "challenges_lost": 0.9456,
                "fouls": 1.2462,
                "fouls_drawn": 0.5586,
                "blocks": 0.5938,
                "goal_rate": 0.0336,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1058,
                "expected_assists": 0.0662,
                "shots_on_target": 0.556,
                "big_chances_created": 0.0,
                "xgot": 0.0991,
                "ball_carries": 12.6476,
                "total_progression": 37.4125,
                "progressive_carries": 0.277,
                "key_pass": 0.3696,
                "shots_off_target": 0.3913,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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": 0.8
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0587,
                  "after": 0.1058
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0412,
                  "after": 0.0662
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 3 by projected rating, fifa_overall 76.0)",
              "stats": {
                "interceptions": 1.081,
                "tackles": 1.9582,
                "tackles_won": 1.202,
                "clearances": 5.8576,
                "aerial_won": 2.8619,
                "total_shots": 0.9599,
                "rating": 6.8792,
                "minutes": 89.89,
                "total_pass": 45.1896,
                "accurate_pass": 35.9383,
                "duels_won": 5.8604,
                "total_long_balls": 9.912,
                "accurate_long_balls": 3.8328,
                "total_own_half_passes": 24.3648,
                "accurate_own_half_passes": 22.8376,
                "total_opp_half_passes": 20.8248,
                "accurate_opp_half_passes": 13.1007,
                "crosses_total": 0.4358,
                "crosses_accurate": 0.0774,
                "touches": 60.1288,
                "possession_lost": 11.0214,
                "dispossessed": 0.1123,
                "duels_lost": 4.35,
                "aerial_lost": 1.8368,
                "total_contest": 0.3823,
                "won_contest": 0.0782,
                "ball_recovery": 4.4976,
                "challenges_lost": 0.9456,
                "fouls": 1.2462,
                "fouls_drawn": 0.5586,
                "blocks": 0.5938,
                "goal_rate": 0.0336,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1058,
                "expected_assists": 0.0662,
                "shots_on_target": 0.556,
                "big_chances_created": 0.0,
                "xgot": 0.0991,
                "ball_carries": 12.6476,
                "total_progression": 37.4125,
                "progressive_carries": 0.277,
                "key_pass": 0.3696,
                "shots_off_target": 0.3913,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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": 0.8,
                "fifa_overall": 76.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": 3204,
                "fifa_rank": 1986.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 76.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 1.081,
                "tackles": 1.9582,
                "tackles_won": 1.202,
                "clearances": 5.8576,
                "aerial_won": 2.8619,
                "total_shots": 0.9599,
                "rating": 6.8792,
                "minutes": 89.89,
                "total_pass": 45.1896,
                "accurate_pass": 35.9383,
                "duels_won": 5.8604,
                "total_long_balls": 9.912,
                "accurate_long_balls": 3.8328,
                "total_own_half_passes": 24.3648,
                "accurate_own_half_passes": 22.8376,
                "total_opp_half_passes": 20.8248,
                "accurate_opp_half_passes": 13.1007,
                "crosses_total": 0.4358,
                "crosses_accurate": 0.0774,
                "touches": 60.1288,
                "possession_lost": 11.0214,
                "dispossessed": 0.1123,
                "duels_lost": 4.35,
                "aerial_lost": 1.8368,
                "total_contest": 0.3823,
                "won_contest": 0.0782,
                "ball_recovery": 4.4976,
                "challenges_lost": 0.9456,
                "fouls": 1.2462,
                "fouls_drawn": 0.5586,
                "blocks": 0.5938,
                "goal_rate": 0.0336,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1058,
                "expected_assists": 0.0662,
                "shots_on_target": 0.556,
                "big_chances_created": 0.0,
                "xgot": 0.0991,
                "ball_carries": 12.6476,
                "total_progression": 37.4125,
                "progressive_carries": 0.277,
                "key_pass": 0.3696,
                "shots_off_target": 0.3913,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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.1004,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.1004,
                "goal_rate": 0.0336,
                "scorer_weight": 0.0846,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0516,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 11,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 1.081,
                "tackles": 1.9582,
                "tackles_won": 1.202,
                "clearances": 5.8576,
                "aerial_won": 2.8619,
                "total_shots": 0.9599,
                "rating": 6.8792,
                "minutes": 89.89,
                "total_pass": 45.1896,
                "accurate_pass": 35.9383,
                "duels_won": 5.8604,
                "total_long_balls": 9.912,
                "accurate_long_balls": 3.8328,
                "total_own_half_passes": 24.3648,
                "accurate_own_half_passes": 22.8376,
                "total_opp_half_passes": 20.8248,
                "accurate_opp_half_passes": 13.1007,
                "crosses_total": 0.4358,
                "crosses_accurate": 0.0774,
                "touches": 60.1288,
                "possession_lost": 11.0214,
                "dispossessed": 0.1123,
                "duels_lost": 4.35,
                "aerial_lost": 1.8368,
                "total_contest": 0.3823,
                "won_contest": 0.0782,
                "ball_recovery": 4.4976,
                "challenges_lost": 0.9456,
                "fouls": 1.2462,
                "fouls_drawn": 0.5586,
                "blocks": 0.5938,
                "goal_rate": 0.0336,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1058,
                "expected_assists": 0.0662,
                "shots_on_target": 0.556,
                "big_chances_created": 0.0,
                "xgot": 0.0991,
                "ball_carries": 12.6476,
                "total_progression": 37.4125,
                "progressive_carries": 0.277,
                "key_pass": 0.3696,
                "shots_off_target": 0.3913,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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.1004,
                "projected_assists": 0,
                "assist_probability": 0.0641,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0641,
                "assist_rate": 0.0,
                "provider_weight": 0.053,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0437,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 10,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Gabriel Suazo": {
          "player_id": 818986,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 17,
          "height": 178,
          "market_value": 7600000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 2,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.7965,
            "minutes": 88,
            "total_pass": 39,
            "accurate_pass": 33,
            "duels_won": 5,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 16,
            "accurate_own_half_passes": 14,
            "total_opp_half_passes": 23,
            "accurate_opp_half_passes": 19,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 59,
            "possession_lost": 10.3131,
            "dispossessed": 0.132,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0016,
            "assists": 1,
            "expected_goals": 0.0144,
            "expected_assists": 0.2311,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0014,
            "ball_carries": 13,
            "total_progression": 76,
            "progressive_carries": 1,
            "key_pass": 1,
            "shots_off_target": 0,
            "tackles_in_zone": 2.0,
            "tackles_won_in_zone": 1.7,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.655,
            "opponent_faced": "Jonny Otto",
            "pressing_zone": "Right Wingback vs Left Back — Overlapping Run",
            "matchup_zone": "Right Wingback vs Left Back — Overlapping Run",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0143,
            "projected_assists": 1,
            "assist_probability": 0.2063,
            "finishing_factor": 0.8621,
            "creation_factor": 0.8,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16421093.0,
              "match_date": "2026-11-01 13:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Getafe",
              "away_team": "Sevilla",
              "home_score_current": 3.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "lineup.csv"
            },
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0363,
                "expected_assists": 0.0223,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 51,
                "accurate_pass": 46,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 6,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1302,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 21,
                "key_pass": 3,
                "tackles": 5,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063.0,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.4797,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 40,
                "key_pass": 3,
                "interceptions": 3,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416349.0,
              "match_date": "2026-09-19",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0751,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 22,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 4,
                "interceptions": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0304,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 29,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 2,
                "duels_won": 7,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1784,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 27,
                "key_pass": 2,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1224,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 24,
                "tackles": 4,
                "tackles_won": 4,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0101,
                "expected_assists": 0.1379,
                "total_shots": 1,
                "total_pass": 62,
                "accurate_pass": 50,
                "key_pass": 5,
                "interceptions": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0206,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 33,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 9,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3708,
            "combined_rank_score": 1663.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 1.0,
            "fifa_rank": 2882.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7965,
            "source_file": "data/player_rankings.csv",
            "player_name": "Gabriel Suazo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Bryan Gil",
                  "ranking": 3703
                },
                {
                  "player_name": "Taiwo Awoniyi",
                  "ranking": 3704
                },
                {
                  "player_name": "Ismail Jakobs",
                  "ranking": 3705
                },
                {
                  "player_name": "Denis Suárez",
                  "ranking": 3706
                },
                {
                  "player_name": "Ernest Muçi",
                  "ranking": 3707
                }
              ],
              "lower": [
                {
                  "player_name": "İrfan Can Kahveci",
                  "ranking": 3709
                },
                {
                  "player_name": "Lucas Beltrán",
                  "ranking": 3710
                },
                {
                  "player_name": "Niclas Eliasson",
                  "ranking": 3711
                },
                {
                  "player_name": "Orri Óskarsson",
                  "ranking": 3712
                },
                {
                  "player_name": "Santiago Núñez",
                  "ranking": 3713
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "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.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9996,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.33,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (D_service) evaluated 39 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.20, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1.0551,
                "tackles": 2.2214,
                "tackles_won": 1.474,
                "clearances": 2.0988,
                "aerial_won": 0.6254,
                "total_shots": 0.3864,
                "rating": 6.7965,
                "minutes": 88.31,
                "total_pass": 39.23,
                "accurate_pass": 32.7421,
                "duels_won": 4.7365,
                "total_long_balls": 3.3429,
                "accurate_long_balls": 1.4967,
                "total_own_half_passes": 15.9591,
                "accurate_own_half_passes": 13.829,
                "total_opp_half_passes": 23.2708,
                "accurate_opp_half_passes": 18.913,
                "crosses_total": 2.1043,
                "crosses_accurate": 0.7869,
                "touches": 58.9537,
                "possession_lost": 10.3172,
                "dispossessed": 0.1321,
                "duels_lost": 3.7787,
                "aerial_lost": 0.814,
                "total_contest": 0.7307,
                "won_contest": 0.5988,
                "ball_recovery": 4.3322,
                "challenges_lost": 1.2338,
                "fouls": 1.5766,
                "fouls_drawn": 1.0202,
                "blocks": 0.439,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0016,
                "assist_rate": 0.0016,
                "expected_goals": 0.008,
                "expected_assists": 0.1438,
                "shots_on_target": 0.0068,
                "big_chances_created": 0.0255,
                "xgot": 0.0008,
                "ball_carries": 13.1536,
                "total_progression": 75.6237,
                "progressive_carries": 1.2864,
                "key_pass": 1.3938,
                "shots_off_target": 0.3796
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1503,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1277,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Levante UD",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1086,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0923,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 1.4861,
                  "aerialWon": 0.5265,
                  "totalClearance_p90": 1.5937,
                  "totalTackle": 2.5596,
                  "totalTackle_p90": 2.6635
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.0550786256790161,
                    "model_output": 1.0551,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.114
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0654
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0392
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0307
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0176
                        }
                      ],
                      "others": 0.0569,
                      "total": 1.0551,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.122964
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.064302
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.038002
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.030782
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.017794
                        }
                      ],
                      "others_margin": 0.055309
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 2.221395492553711,
                    "model_output": 2.2214,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1847
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.1323
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.1282
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.1247
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0883
                        }
                      ],
                      "others": 0.1757,
                      "total": 2.2214,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.124977
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.080781
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.072536
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.065821
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.044147
                        }
                      ],
                      "others_margin": 0.08237
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.4739915132522583,
                    "model_output": 1.474,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.111
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0979
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.1031
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0922
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.072
                        }
                      ],
                      "others": 0.1496,
                      "total": 1.474,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.123002
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.097183
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.093053
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.076439
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.055912
                        }
                      ],
                      "others_margin": 0.106999
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.098763942718506,
                    "model_output": 2.0988,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "totalClearance",
                          "contribution": -0.7496
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.3517
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.2984
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.2543
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.1382
                        }
                      ],
                      "others": -0.2281,
                      "total": 2.0988,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "totalClearance",
                          "margin": -0.247775
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.123912
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.104111
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.098184
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.057706
                        }
                      ],
                      "others_margin": -0.10317
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.6253536343574524,
                    "model_output": 0.6254,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.4552
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.1176
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1017
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0742
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0304
                        }
                      ],
                      "others": -0.1686,
                      "total": 0.6254,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.403991
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.137654
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.120071
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.086238
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.037568
                        }
                      ],
                      "others_margin": -0.238651
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3864067494869232,
                    "model_output": 0.3864,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1259
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0497
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0175
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0143
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0131
                        }
                      ],
                      "others": -0.0349,
                      "total": 0.3864,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.125877
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.049748
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.017507
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.014333
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.01313
                        }
                      ],
                      "others_margin": -0.035017
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.796494007110596,
                    "model_output": 6.7965,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0379
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0156
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0147
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0114
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0112
                        }
                      ],
                      "others": -0.0325,
                      "total": 6.7965,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "passValueNormalized",
                          "margin": 0.037915
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.015578
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.014718
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.011427
                        },
                        {
                          "name": "rating",
                          "margin": 0.011173
                        }
                      ],
                      "others_margin": -0.032505
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 39,
                  "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 0.9996, quality 0.494)",
              "stats": {
                "interceptions": 1.0547,
                "tackles": 2.2205,
                "tackles_won": 1.4734,
                "clearances": 2.0979,
                "aerial_won": 0.6251,
                "total_shots": 0.3863,
                "rating": 6.7965,
                "minutes": 88.31,
                "total_pass": 39.2143,
                "accurate_pass": 32.729,
                "duels_won": 4.7346,
                "total_long_balls": 3.3416,
                "accurate_long_balls": 1.4961,
                "total_own_half_passes": 15.9527,
                "accurate_own_half_passes": 13.8235,
                "total_opp_half_passes": 23.2615,
                "accurate_opp_half_passes": 18.9054,
                "crosses_total": 2.1035,
                "crosses_accurate": 0.7866,
                "touches": 58.9301,
                "possession_lost": 10.3131,
                "dispossessed": 0.132,
                "duels_lost": 3.7772,
                "aerial_lost": 0.8137,
                "total_contest": 0.7304,
                "won_contest": 0.5986,
                "ball_recovery": 4.3305,
                "challenges_lost": 1.2333,
                "fouls": 1.576,
                "fouls_drawn": 1.0198,
                "blocks": 0.4388,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0016,
                "assist_rate": 0.0016,
                "expected_goals": 0.008,
                "expected_assists": 0.1437,
                "shots_on_target": 0.0068,
                "big_chances_created": 0.0255,
                "xgot": 0.0008,
                "ball_carries": 13.1483,
                "total_progression": 75.5935,
                "progressive_carries": 1.2859,
                "key_pass": 1.3932,
                "shots_off_target": 0.3794
              },
              "params": {
                "market_value_eur": 7600000,
                "quality_factor": 0.4939,
                "boost_factor": 0.9996,
                "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.0148)",
              "stats": {
                "interceptions": 1.0536,
                "tackles": 2.2205,
                "tackles_won": 1.471,
                "clearances": 2.0979,
                "aerial_won": 0.6251,
                "total_shots": 0.3854,
                "rating": 6.7965,
                "minutes": 88.31,
                "total_pass": 39.2143,
                "accurate_pass": 32.729,
                "duels_won": 4.7346,
                "total_long_balls": 3.3416,
                "accurate_long_balls": 1.4961,
                "total_own_half_passes": 15.9527,
                "accurate_own_half_passes": 13.8235,
                "total_opp_half_passes": 23.2615,
                "accurate_opp_half_passes": 18.9054,
                "crosses_total": 2.1256,
                "crosses_accurate": 0.7866,
                "touches": 58.9301,
                "possession_lost": 10.3131,
                "dispossessed": 0.132,
                "duels_lost": 3.7772,
                "aerial_lost": 0.8137,
                "total_contest": 0.7304,
                "won_contest": 0.5986,
                "ball_recovery": 4.3305,
                "challenges_lost": 1.2333,
                "fouls": 1.5962,
                "fouls_drawn": 1.0192,
                "blocks": 0.4388,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0016,
                "assist_rate": 0.0016,
                "expected_goals": 0.008,
                "expected_assists": 0.1437,
                "shots_on_target": 0.0067,
                "big_chances_created": 0.0255,
                "xgot": 0.0008,
                "ball_carries": 13.1483,
                "total_progression": 75.5935,
                "progressive_carries": 1.2859,
                "key_pass": 1.3932,
                "shots_off_target": 0.3794
              },
              "params": {
                "blend_weight": 0.0148,
                "history_matches": 39,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9812,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Sevilla"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 2.1035,
                  "after": 2.1256
                },
                {
                  "stat": "fouls",
                  "before": 1.576,
                  "after": 1.5962
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.0536,
                "tackles": 2.2205,
                "tackles_won": 1.471,
                "clearances": 2.0979,
                "aerial_won": 0.6251,
                "total_shots": 0.3861,
                "rating": 6.7965,
                "minutes": 88.31,
                "total_pass": 39.2143,
                "accurate_pass": 32.729,
                "duels_won": 4.7346,
                "total_long_balls": 3.3416,
                "accurate_long_balls": 1.4961,
                "total_own_half_passes": 15.9527,
                "accurate_own_half_passes": 13.8235,
                "total_opp_half_passes": 23.2615,
                "accurate_opp_half_passes": 18.9054,
                "crosses_total": 2.1256,
                "crosses_accurate": 0.7866,
                "touches": 58.9301,
                "possession_lost": 10.3131,
                "dispossessed": 0.132,
                "duels_lost": 3.7772,
                "aerial_lost": 0.8137,
                "total_contest": 0.7304,
                "won_contest": 0.5986,
                "ball_recovery": 4.3305,
                "challenges_lost": 1.2333,
                "fouls": 1.5962,
                "fouls_drawn": 1.0192,
                "blocks": 0.4388,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0016,
                "assist_rate": 0.0016,
                "expected_goals": 0.008,
                "expected_assists": 0.1437,
                "shots_on_target": 0.0067,
                "big_chances_created": 0.0255,
                "xgot": 0.0008,
                "ball_carries": 13.1483,
                "total_progression": 75.5935,
                "progressive_carries": 1.2859,
                "key_pass": 1.3932,
                "shots_off_target": 0.3794
              },
              "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.0536,
                "tackles": 2.2205,
                "tackles_won": 1.471,
                "clearances": 2.0979,
                "aerial_won": 0.6251,
                "total_shots": 0.3861,
                "rating": 6.7965,
                "minutes": 88.31,
                "total_pass": 39.2143,
                "accurate_pass": 32.729,
                "duels_won": 4.7346,
                "total_long_balls": 3.3416,
                "accurate_long_balls": 1.4961,
                "total_own_half_passes": 15.9527,
                "accurate_own_half_passes": 13.8235,
                "total_opp_half_passes": 23.2615,
                "accurate_opp_half_passes": 18.9054,
                "crosses_total": 2.1256,
                "crosses_accurate": 0.7866,
                "touches": 58.9301,
                "possession_lost": 10.3131,
                "dispossessed": 0.132,
                "duels_lost": 3.7772,
                "aerial_lost": 0.8137,
                "total_contest": 0.7304,
                "won_contest": 0.5986,
                "ball_recovery": 4.3305,
                "challenges_lost": 1.2333,
                "fouls": 1.5962,
                "fouls_drawn": 1.0192,
                "blocks": 0.4388,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0016,
                "assist_rate": 0.0016,
                "expected_goals": 0.008,
                "expected_assists": 0.1437,
                "shots_on_target": 0.0067,
                "big_chances_created": 0.0255,
                "xgot": 0.0008,
                "ball_carries": 13.1483,
                "total_progression": 75.5935,
                "progressive_carries": 1.2859,
                "key_pass": 1.3932,
                "shots_off_target": 0.3794,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.7,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.655,
                "opponent_faced": "Jonny Otto",
                "pressing_zone": "Right Wingback vs Left Back — Overlapping Run",
                "matchup_zone": "Right Wingback vs Left Back — Overlapping Run",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Jonny Otto",
                  "matchup_zone": "Right Wingback vs Left Back — Overlapping Run"
                }
              }
            },
            {
              "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.0536,
                "tackles": 2.2205,
                "tackles_won": 1.471,
                "clearances": 2.0979,
                "aerial_won": 0.6251,
                "total_shots": 0.3861,
                "rating": 6.7965,
                "minutes": 88.31,
                "total_pass": 39.2143,
                "accurate_pass": 32.729,
                "duels_won": 4.7346,
                "total_long_balls": 3.3416,
                "accurate_long_balls": 1.4961,
                "total_own_half_passes": 15.9527,
                "accurate_own_half_passes": 13.8235,
                "total_opp_half_passes": 23.2615,
                "accurate_opp_half_passes": 18.9054,
                "crosses_total": 2.1256,
                "crosses_accurate": 0.7866,
                "touches": 58.9301,
                "possession_lost": 10.3131,
                "dispossessed": 0.132,
                "duels_lost": 3.7772,
                "aerial_lost": 0.8137,
                "total_contest": 0.7304,
                "won_contest": 0.5986,
                "ball_recovery": 4.3305,
                "challenges_lost": 1.2333,
                "fouls": 1.5962,
                "fouls_drawn": 1.0192,
                "blocks": 0.4388,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0016,
                "assists": 0,
                "expected_goals": 0.008,
                "expected_assists": 0.1437,
                "shots_on_target": 0.0067,
                "big_chances_created": 0.0255,
                "xgot": 0.0008,
                "ball_carries": 13.1483,
                "total_progression": 75.5935,
                "progressive_carries": 1.2859,
                "key_pass": 1.3932,
                "shots_off_target": 0.3794,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.7,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.655,
                "opponent_faced": "Jonny Otto",
                "pressing_zone": "Right Wingback vs Left Back — Overlapping Run",
                "matchup_zone": "Right Wingback vs Left Back — Overlapping Run",
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "interceptions": 1.0536,
                "tackles": 2.2205,
                "tackles_won": 1.471,
                "clearances": 2.0979,
                "aerial_won": 0.6251,
                "total_shots": 0.3861,
                "rating": 6.7965,
                "minutes": 88.31,
                "total_pass": 39.2143,
                "accurate_pass": 32.729,
                "duels_won": 4.7346,
                "total_long_balls": 3.3416,
                "accurate_long_balls": 1.4961,
                "total_own_half_passes": 15.9527,
                "accurate_own_half_passes": 13.8235,
                "total_opp_half_passes": 23.2615,
                "accurate_opp_half_passes": 18.9054,
                "crosses_total": 2.1256,
                "crosses_accurate": 0.7866,
                "touches": 58.9301,
                "possession_lost": 10.3131,
                "dispossessed": 0.132,
                "duels_lost": 3.7772,
                "aerial_lost": 0.8137,
                "total_contest": 0.7304,
                "won_contest": 0.5986,
                "ball_recovery": 4.3305,
                "challenges_lost": 1.2333,
                "fouls": 1.5962,
                "fouls_drawn": 1.0192,
                "blocks": 0.4388,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0016,
                "assists": 0,
                "expected_goals": 0.0144,
                "expected_assists": 0.2311,
                "shots_on_target": 0.0067,
                "big_chances_created": 0.0255,
                "xgot": 0.0014,
                "ball_carries": 13.1483,
                "total_progression": 75.5935,
                "progressive_carries": 1.2859,
                "key_pass": 1.3932,
                "shots_off_target": 0.3794,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.7,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.655,
                "opponent_faced": "Jonny Otto",
                "pressing_zone": "Right Wingback vs Left Back — Overlapping Run",
                "matchup_zone": "Right Wingback vs Left Back — Overlapping Run",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8621,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.008,
                  "after": 0.0144
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1437,
                  "after": 0.2311
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 9 by projected rating, fifa_overall 74.0)",
              "stats": {
                "interceptions": 1.0536,
                "tackles": 2.2205,
                "tackles_won": 1.471,
                "clearances": 2.0979,
                "aerial_won": 0.6251,
                "total_shots": 0.3861,
                "rating": 6.7965,
                "minutes": 88.31,
                "total_pass": 39.2143,
                "accurate_pass": 32.729,
                "duels_won": 4.7346,
                "total_long_balls": 3.3416,
                "accurate_long_balls": 1.4961,
                "total_own_half_passes": 15.9527,
                "accurate_own_half_passes": 13.8235,
                "total_opp_half_passes": 23.2615,
                "accurate_opp_half_passes": 18.9054,
                "crosses_total": 2.1256,
                "crosses_accurate": 0.7866,
                "touches": 58.9301,
                "possession_lost": 10.3131,
                "dispossessed": 0.132,
                "duels_lost": 3.7772,
                "aerial_lost": 0.8137,
                "total_contest": 0.7304,
                "won_contest": 0.5986,
                "ball_recovery": 4.3305,
                "challenges_lost": 1.2333,
                "fouls": 1.5962,
                "fouls_drawn": 1.0192,
                "blocks": 0.4388,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0016,
                "assists": 0,
                "expected_goals": 0.0144,
                "expected_assists": 0.2311,
                "shots_on_target": 0.0067,
                "big_chances_created": 0.0255,
                "xgot": 0.0014,
                "ball_carries": 13.1483,
                "total_progression": 75.5935,
                "progressive_carries": 1.2859,
                "key_pass": 1.3932,
                "shots_off_target": 0.3794,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.7,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.655,
                "opponent_faced": "Jonny Otto",
                "pressing_zone": "Right Wingback vs Left Back — Overlapping Run",
                "matchup_zone": "Right Wingback vs Left Back — Overlapping Run",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8621,
                "creation_factor": 0.8,
                "fifa_overall": 74.0
              },
              "params": {
                "match_squad_rank": 9,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3708,
                "fifa_rank": 2882.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 1.0536,
                "tackles": 2.2205,
                "tackles_won": 1.471,
                "clearances": 2.0979,
                "aerial_won": 0.6251,
                "total_shots": 0.3861,
                "rating": 6.7965,
                "minutes": 88.31,
                "total_pass": 39.2143,
                "accurate_pass": 32.729,
                "duels_won": 4.7346,
                "total_long_balls": 3.3416,
                "accurate_long_balls": 1.4961,
                "total_own_half_passes": 15.9527,
                "accurate_own_half_passes": 13.8235,
                "total_opp_half_passes": 23.2615,
                "accurate_opp_half_passes": 18.9054,
                "crosses_total": 2.1256,
                "crosses_accurate": 0.7866,
                "touches": 58.9301,
                "possession_lost": 10.3131,
                "dispossessed": 0.132,
                "duels_lost": 3.7772,
                "aerial_lost": 0.8137,
                "total_contest": 0.7304,
                "won_contest": 0.5986,
                "ball_recovery": 4.3305,
                "challenges_lost": 1.2333,
                "fouls": 1.5962,
                "fouls_drawn": 1.0192,
                "blocks": 0.4388,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0016,
                "assists": 0,
                "expected_goals": 0.0144,
                "expected_assists": 0.2311,
                "shots_on_target": 0.0067,
                "big_chances_created": 0.0255,
                "xgot": 0.0014,
                "ball_carries": 13.1483,
                "total_progression": 75.5935,
                "progressive_carries": 1.2859,
                "key_pass": 1.3932,
                "shots_off_target": 0.3794,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.7,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.655,
                "opponent_faced": "Jonny Otto",
                "pressing_zone": "Right Wingback vs Left Back — Overlapping Run",
                "matchup_zone": "Right Wingback vs Left Back — Overlapping Run",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0143,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8621,
                "creation_factor": 0.8,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0143,
                "goal_rate": 0.0,
                "scorer_weight": 0.0124,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0076,
                "finishing_factor": 0.8621,
                "appearance_weight": 1.0,
                "weight_rank": 13,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 1.0536,
                "tackles": 2.2205,
                "tackles_won": 1.471,
                "clearances": 2.0979,
                "aerial_won": 0.6251,
                "total_shots": 0.3861,
                "rating": 6.7965,
                "minutes": 88.31,
                "total_pass": 39.2143,
                "accurate_pass": 32.729,
                "duels_won": 4.7346,
                "total_long_balls": 3.3416,
                "accurate_long_balls": 1.4961,
                "total_own_half_passes": 15.9527,
                "accurate_own_half_passes": 13.8235,
                "total_opp_half_passes": 23.2615,
                "accurate_opp_half_passes": 18.9054,
                "crosses_total": 2.1256,
                "crosses_accurate": 0.7866,
                "touches": 58.9301,
                "possession_lost": 10.3131,
                "dispossessed": 0.132,
                "duels_lost": 3.7772,
                "aerial_lost": 0.8137,
                "total_contest": 0.7304,
                "won_contest": 0.5986,
                "ball_recovery": 4.3305,
                "challenges_lost": 1.2333,
                "fouls": 1.5962,
                "fouls_drawn": 1.0192,
                "blocks": 0.4388,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0016,
                "assists": 1,
                "expected_goals": 0.0144,
                "expected_assists": 0.2311,
                "shots_on_target": 0.0067,
                "big_chances_created": 0.0255,
                "xgot": 0.0014,
                "ball_carries": 13.1483,
                "total_progression": 75.5935,
                "progressive_carries": 1.2859,
                "key_pass": 1.3932,
                "shots_off_target": 0.3794,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.7,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.655,
                "opponent_faced": "Jonny Otto",
                "pressing_zone": "Right Wingback vs Left Back — Overlapping Run",
                "matchup_zone": "Right Wingback vs Left Back — Overlapping Run",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0143,
                "projected_assists": 1,
                "assist_probability": 0.2063,
                "finishing_factor": 0.8621,
                "creation_factor": 0.8,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 1,
                "assist_probability": 0.2063,
                "assist_rate": 0.0016,
                "provider_weight": 0.1849,
                "squad_weight_total": 1.2113,
                "weight_share": 0.1526,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Juan Iglesias": {
          "player_id": 949707,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 2,
          "height": 185,
          "market_value": 5800000,
          "stats": {
            "interceptions": 1,
            "tackles": 3,
            "tackles_won": 2,
            "clearances": 3,
            "aerial_won": 1,
            "total_shots": 1,
            "rating": 6.8187,
            "minutes": 88,
            "total_pass": 28,
            "accurate_pass": 19,
            "duels_won": 7,
            "total_long_balls": 6,
            "accurate_long_balls": 3,
            "total_own_half_passes": 9,
            "accurate_own_half_passes": 8,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 11,
            "crosses_total": 3,
            "crosses_accurate": 1,
            "touches": 59,
            "possession_lost": 17.0787,
            "dispossessed": 0.6414,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "blocks": 0,
            "goal_rate": 0.0689,
            "goals": 0,
            "assist_rate": 0.0049,
            "assists": 0,
            "expected_goals": 0.1051,
            "expected_assists": 0.1471,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.062,
            "ball_carries": 9,
            "total_progression": 28,
            "progressive_carries": 1,
            "key_pass": 1,
            "shots_off_target": 1,
            "tackles_in_zone": 2.0,
            "tackles_won_in_zone": 1.6,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.632,
            "opponent_faced": "Nahuel Tenaglia",
            "pressing_zone": "Left Wingback vs Right Back — Overlapping Run",
            "matchup_zone": "Left Wingback vs Right Back — Overlapping Run",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0998,
            "projected_assists": 0,
            "assist_probability": 0.1368,
            "finishing_factor": 1.0979,
            "creation_factor": 0.8,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16421093.0,
              "match_date": "2026-11-01 13:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Getafe",
              "away_team": "Sevilla",
              "home_score_current": 3.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "lineup.csv"
            },
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1451,
                "expected_assists": 0.1069,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 31,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 5,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 3,
                "aerial_won": 0,
                "duels_won": 7,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 72,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0199,
                "expected_assists": 0.2075,
                "total_shots": 1,
                "total_pass": 22,
                "accurate_pass": 14,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063.0,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0477,
                "expected_assists": 0.1232,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 33,
                "accurate_pass": 24,
                "key_pass": 1,
                "tackles": 9,
                "tackles_won": 3,
                "clearances": 5,
                "aerial_won": 3,
                "duels_won": 13,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416349.0,
              "match_date": "2026-09-19",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1669,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 20,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.017,
                "total_shots": 0,
                "total_pass": 44,
                "accurate_pass": 35,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 6,
                "aerial_won": 2,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 8.2,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3211,
                "expected_assists": 0.0256,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 41,
                "accurate_pass": 30,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.026,
                "expected_assists": 0.0297,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 28,
                "accurate_pass": 19,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0211,
                "expected_assists": 0.0304,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 23,
                "accurate_pass": 16,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0575,
                "expected_assists": 0.0005,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 13,
                "accurate_pass": 7,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 5,
                "duels_won": 7,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3199,
            "combined_rank_score": 1156.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 336.0,
            "sofascore_rating": 7.0,
            "sofascore_appearances": 1.0,
            "fifa_rank": 1977.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8187,
            "source_file": "data/player_rankings.csv",
            "player_name": "Juan Iglesias",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Taylor Harwood-Bellis",
                  "ranking": 3194
                },
                {
                  "player_name": "Saïd El Mala",
                  "ranking": 3195
                },
                {
                  "player_name": "Fran García",
                  "ranking": 3196
                },
                {
                  "player_name": "Rômulo",
                  "ranking": 3197
                },
                {
                  "player_name": "David Zima",
                  "ranking": 3198
                }
              ],
              "lower": [
                {
                  "player_name": "Thierno Barry",
                  "ranking": 3200
                },
                {
                  "player_name": "Tiago Palacios",
                  "ranking": 3201
                },
                {
                  "player_name": "Frederik Rønnow",
                  "ranking": 3202
                },
                {
                  "player_name": "David Affengruber",
                  "ranking": 3203
                },
                {
                  "player_name": "Kike Salas",
                  "ranking": 3204
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 47,
          "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": 47,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.999,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (D_service) evaluated 47 historical appearances across 7 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.9849,
                "tackles": 2.7662,
                "tackles_won": 1.5475,
                "clearances": 3.2762,
                "aerial_won": 1.0064,
                "total_shots": 0.8313,
                "rating": 6.8187,
                "minutes": 87.6,
                "total_pass": 28.2205,
                "accurate_pass": 19.133,
                "duels_won": 6.9436,
                "total_long_balls": 6.4938,
                "accurate_long_balls": 2.9439,
                "total_own_half_passes": 9.3228,
                "accurate_own_half_passes": 7.705,
                "total_opp_half_passes": 18.8977,
                "accurate_opp_half_passes": 11.428,
                "crosses_total": 3.4716,
                "crosses_accurate": 0.9334,
                "touches": 58.7828,
                "possession_lost": 17.0958,
                "dispossessed": 0.642,
                "duels_lost": 4.4187,
                "aerial_lost": 1.1431,
                "total_contest": 1.1417,
                "won_contest": 0.761,
                "ball_recovery": 3.1258,
                "challenges_lost": 1.2333,
                "fouls": 1.141,
                "fouls_drawn": 1.5412,
                "blocks": 0.2376,
                "goals": 0.069,
                "goal_rate": 0.069,
                "assists": 0.0049,
                "assist_rate": 0.0049,
                "expected_goals": 0.0584,
                "expected_assists": 0.0916,
                "shots_on_target": 0.2905,
                "big_chances_created": 0.0236,
                "xgot": 0.0344,
                "ball_carries": 9.1366,
                "total_progression": 27.7467,
                "progressive_carries": 0.6314,
                "key_pass": 0.6437,
                "shots_off_target": 0.5408
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Levante UD",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1084,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0783,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 8.2
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 3.3763,
                  "aerialWon": 1.1388,
                  "totalClearance_p90": 3.4474,
                  "totalTackle": 3.5316,
                  "totalTackle_p90": 3.6333
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9849329590797424,
                    "model_output": 0.9849,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0936
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0844
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.032
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0171
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0165
                        }
                      ],
                      "others": 0.039,
                      "total": 0.9849,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.102038
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.091544
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.035677
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.018589
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.017593
                        }
                      ],
                      "others_margin": 0.040436
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 2.766221046447754,
                    "model_output": 2.7662,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.198
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.1941
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.151
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.1621
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.1465
                        }
                      ],
                      "others": 0.527,
                      "total": 2.7662,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.133413
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.115461
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.081468
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.080624
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.067656
                        }
                      ],
                      "others_margin": 0.211357
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.5475295782089233,
                    "model_output": 1.5475,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1217
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0958
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.1049
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0905
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0835
                        }
                      ],
                      "others": 0.2029,
                      "total": 1.5475,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.134043
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.094218
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.093905
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.074483
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.064132
                        }
                      ],
                      "others_margin": 0.140493
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.276233434677124,
                    "model_output": 3.2762,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4472
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.3576
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.2621
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.2525
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.125
                        }
                      ],
                      "others": -0.1137,
                      "total": 3.2762,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.123036
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.097144
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.072099
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.069365
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.036209
                        }
                      ],
                      "others_margin": -0.034106
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.006433367729187,
                    "model_output": 1.0064,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.1476
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1396
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0795
                        },
                        {
                          "name": "dispossessed",
                          "contribution": -0.0555
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0501
                        }
                      ],
                      "others": -0.1702,
                      "total": 1.0064,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.113999
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.108159
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.060153
                        },
                        {
                          "name": "dispossessed",
                          "margin": -0.044264
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.041717
                        }
                      ],
                      "others_margin": -0.156206
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.8313308954238892,
                    "model_output": 0.8313,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.1772
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0513
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0311
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0223
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0221
                        }
                      ],
                      "others": 0.0461,
                      "total": 0.8313,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.177223
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.05129
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.03106
                        },
                        {
                          "name": "rating",
                          "margin": 0.022313
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.022087
                        }
                      ],
                      "others_margin": 0.046109
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.818737506866455,
                    "model_output": 6.8187,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0208
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0161
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0137
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0123
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0106
                        }
                      ],
                      "others": 0.0244,
                      "total": 6.8187,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.02082
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.016146
                        },
                        {
                          "name": "rating",
                          "margin": 0.013705
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.012319
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.010595
                        }
                      ],
                      "others_margin": 0.024491
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 47,
                  "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.9990, quality 0.472)",
              "stats": {
                "interceptions": 0.9839,
                "tackles": 2.7635,
                "tackles_won": 1.546,
                "clearances": 3.273,
                "aerial_won": 1.0054,
                "total_shots": 0.8305,
                "rating": 6.8187,
                "minutes": 87.6,
                "total_pass": 28.1923,
                "accurate_pass": 19.1139,
                "duels_won": 6.9367,
                "total_long_balls": 6.4873,
                "accurate_long_balls": 2.941,
                "total_own_half_passes": 9.3135,
                "accurate_own_half_passes": 7.6973,
                "total_opp_half_passes": 18.8788,
                "accurate_opp_half_passes": 11.4166,
                "crosses_total": 3.4681,
                "crosses_accurate": 0.9325,
                "touches": 58.724,
                "possession_lost": 17.0787,
                "dispossessed": 0.6414,
                "duels_lost": 4.4143,
                "aerial_lost": 1.142,
                "total_contest": 1.1406,
                "won_contest": 0.7602,
                "ball_recovery": 3.1227,
                "challenges_lost": 1.2321,
                "fouls": 1.1399,
                "fouls_drawn": 1.5397,
                "blocks": 0.2374,
                "goals": 0.0689,
                "goal_rate": 0.0689,
                "assists": 0.0049,
                "assist_rate": 0.0049,
                "expected_goals": 0.0583,
                "expected_assists": 0.0915,
                "shots_on_target": 0.2902,
                "big_chances_created": 0.0236,
                "xgot": 0.0344,
                "ball_carries": 9.1275,
                "total_progression": 27.719,
                "progressive_carries": 0.6308,
                "key_pass": 0.6431,
                "shots_off_target": 0.5403
              },
              "params": {
                "market_value_eur": 5800000,
                "quality_factor": 0.472,
                "boost_factor": 0.999,
                "reference_quality": 0.505,
                "history_matches": 47,
                "history_shrink": 0.0962,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.9839,
                "tackles": 2.7635,
                "tackles_won": 1.546,
                "clearances": 3.273,
                "aerial_won": 1.0054,
                "total_shots": 0.8305,
                "rating": 6.8187,
                "minutes": 87.6,
                "total_pass": 28.1923,
                "accurate_pass": 19.1139,
                "duels_won": 6.9367,
                "total_long_balls": 6.4873,
                "accurate_long_balls": 2.941,
                "total_own_half_passes": 9.3135,
                "accurate_own_half_passes": 7.6973,
                "total_opp_half_passes": 18.8788,
                "accurate_opp_half_passes": 11.4166,
                "crosses_total": 3.4681,
                "crosses_accurate": 0.9325,
                "touches": 58.724,
                "possession_lost": 17.0787,
                "dispossessed": 0.6414,
                "duels_lost": 4.4143,
                "aerial_lost": 1.142,
                "total_contest": 1.1406,
                "won_contest": 0.7602,
                "ball_recovery": 3.1227,
                "challenges_lost": 1.2321,
                "fouls": 1.1399,
                "fouls_drawn": 1.5397,
                "blocks": 0.2374,
                "goals": 0.0689,
                "goal_rate": 0.0689,
                "assists": 0.0049,
                "assist_rate": 0.0049,
                "expected_goals": 0.0583,
                "expected_assists": 0.0915,
                "shots_on_target": 0.2902,
                "big_chances_created": 0.0236,
                "xgot": 0.0344,
                "ball_carries": 9.1275,
                "total_progression": 27.719,
                "progressive_carries": 0.6308,
                "key_pass": 0.6431,
                "shots_off_target": 0.5403
              },
              "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.9839,
                "tackles": 2.7635,
                "tackles_won": 1.546,
                "clearances": 3.273,
                "aerial_won": 1.0054,
                "total_shots": 0.8305,
                "rating": 6.8187,
                "minutes": 87.6,
                "total_pass": 28.1923,
                "accurate_pass": 19.1139,
                "duels_won": 6.9367,
                "total_long_balls": 6.4873,
                "accurate_long_balls": 2.941,
                "total_own_half_passes": 9.3135,
                "accurate_own_half_passes": 7.6973,
                "total_opp_half_passes": 18.8788,
                "accurate_opp_half_passes": 11.4166,
                "crosses_total": 3.4681,
                "crosses_accurate": 0.9325,
                "touches": 58.724,
                "possession_lost": 17.0787,
                "dispossessed": 0.6414,
                "duels_lost": 4.4143,
                "aerial_lost": 1.142,
                "total_contest": 1.1406,
                "won_contest": 0.7602,
                "ball_recovery": 3.1227,
                "challenges_lost": 1.2321,
                "fouls": 1.1399,
                "fouls_drawn": 1.5397,
                "blocks": 0.2374,
                "goals": 0.0689,
                "goal_rate": 0.0689,
                "assists": 0.0049,
                "assist_rate": 0.0049,
                "expected_goals": 0.0583,
                "expected_assists": 0.0915,
                "shots_on_target": 0.2902,
                "big_chances_created": 0.0236,
                "xgot": 0.0344,
                "ball_carries": 9.1275,
                "total_progression": 27.719,
                "progressive_carries": 0.6308,
                "key_pass": 0.6431,
                "shots_off_target": 0.5403,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.632,
                "opponent_faced": "Nahuel Tenaglia",
                "pressing_zone": "Left Wingback vs Right Back — Overlapping Run",
                "matchup_zone": "Left Wingback vs Right Back — Overlapping Run",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Nahuel Tenaglia",
                  "matchup_zone": "Left Wingback vs Right Back — Overlapping Run"
                }
              }
            },
            {
              "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.9839,
                "tackles": 2.7635,
                "tackles_won": 1.546,
                "clearances": 3.273,
                "aerial_won": 1.0054,
                "total_shots": 0.8305,
                "rating": 6.8187,
                "minutes": 87.6,
                "total_pass": 28.1923,
                "accurate_pass": 19.1139,
                "duels_won": 6.9367,
                "total_long_balls": 6.4873,
                "accurate_long_balls": 2.941,
                "total_own_half_passes": 9.3135,
                "accurate_own_half_passes": 7.6973,
                "total_opp_half_passes": 18.8788,
                "accurate_opp_half_passes": 11.4166,
                "crosses_total": 3.4681,
                "crosses_accurate": 0.9325,
                "touches": 58.724,
                "possession_lost": 17.0787,
                "dispossessed": 0.6414,
                "duels_lost": 4.4143,
                "aerial_lost": 1.142,
                "total_contest": 1.1406,
                "won_contest": 0.7602,
                "ball_recovery": 3.1227,
                "challenges_lost": 1.2321,
                "fouls": 1.1399,
                "fouls_drawn": 1.5397,
                "blocks": 0.2374,
                "goal_rate": 0.0689,
                "goals": 0,
                "assist_rate": 0.0049,
                "assists": 0,
                "expected_goals": 0.0583,
                "expected_assists": 0.0915,
                "shots_on_target": 0.2902,
                "big_chances_created": 0.0236,
                "xgot": 0.0344,
                "ball_carries": 9.1275,
                "total_progression": 27.719,
                "progressive_carries": 0.6308,
                "key_pass": 0.6431,
                "shots_off_target": 0.5403,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.632,
                "opponent_faced": "Nahuel Tenaglia",
                "pressing_zone": "Left Wingback vs Right Back — Overlapping Run",
                "matchup_zone": "Left Wingback vs Right Back — Overlapping Run",
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "interceptions": 0.9839,
                "tackles": 2.7635,
                "tackles_won": 1.546,
                "clearances": 3.273,
                "aerial_won": 1.0054,
                "total_shots": 0.8305,
                "rating": 6.8187,
                "minutes": 87.6,
                "total_pass": 28.1923,
                "accurate_pass": 19.1139,
                "duels_won": 6.9367,
                "total_long_balls": 6.4873,
                "accurate_long_balls": 2.941,
                "total_own_half_passes": 9.3135,
                "accurate_own_half_passes": 7.6973,
                "total_opp_half_passes": 18.8788,
                "accurate_opp_half_passes": 11.4166,
                "crosses_total": 3.4681,
                "crosses_accurate": 0.9325,
                "touches": 58.724,
                "possession_lost": 17.0787,
                "dispossessed": 0.6414,
                "duels_lost": 4.4143,
                "aerial_lost": 1.142,
                "total_contest": 1.1406,
                "won_contest": 0.7602,
                "ball_recovery": 3.1227,
                "challenges_lost": 1.2321,
                "fouls": 1.1399,
                "fouls_drawn": 1.5397,
                "blocks": 0.2374,
                "goal_rate": 0.0689,
                "goals": 0,
                "assist_rate": 0.0049,
                "assists": 0,
                "expected_goals": 0.1051,
                "expected_assists": 0.1471,
                "shots_on_target": 0.2902,
                "big_chances_created": 0.0236,
                "xgot": 0.062,
                "ball_carries": 9.1275,
                "total_progression": 27.719,
                "progressive_carries": 0.6308,
                "key_pass": 0.6431,
                "shots_off_target": 0.5403,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.632,
                "opponent_faced": "Nahuel Tenaglia",
                "pressing_zone": "Left Wingback vs Right Back — Overlapping Run",
                "matchup_zone": "Left Wingback vs Right Back — Overlapping Run",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0979,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0583,
                  "after": 0.1051
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0915,
                  "after": 0.1471
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 7 by projected rating, fifa_overall 76.0)",
              "stats": {
                "interceptions": 0.9839,
                "tackles": 2.7635,
                "tackles_won": 1.546,
                "clearances": 3.273,
                "aerial_won": 1.0054,
                "total_shots": 0.8305,
                "rating": 6.8187,
                "minutes": 87.6,
                "total_pass": 28.1923,
                "accurate_pass": 19.1139,
                "duels_won": 6.9367,
                "total_long_balls": 6.4873,
                "accurate_long_balls": 2.941,
                "total_own_half_passes": 9.3135,
                "accurate_own_half_passes": 7.6973,
                "total_opp_half_passes": 18.8788,
                "accurate_opp_half_passes": 11.4166,
                "crosses_total": 3.4681,
                "crosses_accurate": 0.9325,
                "touches": 58.724,
                "possession_lost": 17.0787,
                "dispossessed": 0.6414,
                "duels_lost": 4.4143,
                "aerial_lost": 1.142,
                "total_contest": 1.1406,
                "won_contest": 0.7602,
                "ball_recovery": 3.1227,
                "challenges_lost": 1.2321,
                "fouls": 1.1399,
                "fouls_drawn": 1.5397,
                "blocks": 0.2374,
                "goal_rate": 0.0689,
                "goals": 0,
                "assist_rate": 0.0049,
                "assists": 0,
                "expected_goals": 0.1051,
                "expected_assists": 0.1471,
                "shots_on_target": 0.2902,
                "big_chances_created": 0.0236,
                "xgot": 0.062,
                "ball_carries": 9.1275,
                "total_progression": 27.719,
                "progressive_carries": 0.6308,
                "key_pass": 0.6431,
                "shots_off_target": 0.5403,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.632,
                "opponent_faced": "Nahuel Tenaglia",
                "pressing_zone": "Left Wingback vs Right Back — Overlapping Run",
                "matchup_zone": "Left Wingback vs Right Back — Overlapping Run",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0979,
                "creation_factor": 0.8,
                "fifa_overall": 76.0
              },
              "params": {
                "match_squad_rank": 7,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3199,
                "fifa_rank": 1977.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 76.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.9839,
                "tackles": 2.7635,
                "tackles_won": 1.546,
                "clearances": 3.273,
                "aerial_won": 1.0054,
                "total_shots": 0.8305,
                "rating": 6.8187,
                "minutes": 87.6,
                "total_pass": 28.1923,
                "accurate_pass": 19.1139,
                "duels_won": 6.9367,
                "total_long_balls": 6.4873,
                "accurate_long_balls": 2.941,
                "total_own_half_passes": 9.3135,
                "accurate_own_half_passes": 7.6973,
                "total_opp_half_passes": 18.8788,
                "accurate_opp_half_passes": 11.4166,
                "crosses_total": 3.4681,
                "crosses_accurate": 0.9325,
                "touches": 58.724,
                "possession_lost": 17.0787,
                "dispossessed": 0.6414,
                "duels_lost": 4.4143,
                "aerial_lost": 1.142,
                "total_contest": 1.1406,
                "won_contest": 0.7602,
                "ball_recovery": 3.1227,
                "challenges_lost": 1.2321,
                "fouls": 1.1399,
                "fouls_drawn": 1.5397,
                "blocks": 0.2374,
                "goal_rate": 0.0689,
                "goals": 0,
                "assist_rate": 0.0049,
                "assists": 0,
                "expected_goals": 0.1051,
                "expected_assists": 0.1471,
                "shots_on_target": 0.2902,
                "big_chances_created": 0.0236,
                "xgot": 0.062,
                "ball_carries": 9.1275,
                "total_progression": 27.719,
                "progressive_carries": 0.6308,
                "key_pass": 0.6431,
                "shots_off_target": 0.5403,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.632,
                "opponent_faced": "Nahuel Tenaglia",
                "pressing_zone": "Left Wingback vs Right Back — Overlapping Run",
                "matchup_zone": "Left Wingback vs Right Back — Overlapping Run",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0998,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0979,
                "creation_factor": 0.8,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0998,
                "goal_rate": 0.0689,
                "scorer_weight": 0.1154,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0703,
                "finishing_factor": 1.0979,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.9839,
                "tackles": 2.7635,
                "tackles_won": 1.546,
                "clearances": 3.273,
                "aerial_won": 1.0054,
                "total_shots": 0.8305,
                "rating": 6.8187,
                "minutes": 87.6,
                "total_pass": 28.1923,
                "accurate_pass": 19.1139,
                "duels_won": 6.9367,
                "total_long_balls": 6.4873,
                "accurate_long_balls": 2.941,
                "total_own_half_passes": 9.3135,
                "accurate_own_half_passes": 7.6973,
                "total_opp_half_passes": 18.8788,
                "accurate_opp_half_passes": 11.4166,
                "crosses_total": 3.4681,
                "crosses_accurate": 0.9325,
                "touches": 58.724,
                "possession_lost": 17.0787,
                "dispossessed": 0.6414,
                "duels_lost": 4.4143,
                "aerial_lost": 1.142,
                "total_contest": 1.1406,
                "won_contest": 0.7602,
                "ball_recovery": 3.1227,
                "challenges_lost": 1.2321,
                "fouls": 1.1399,
                "fouls_drawn": 1.5397,
                "blocks": 0.2374,
                "goal_rate": 0.0689,
                "goals": 0,
                "assist_rate": 0.0049,
                "assists": 0,
                "expected_goals": 0.1051,
                "expected_assists": 0.1471,
                "shots_on_target": 0.2902,
                "big_chances_created": 0.0236,
                "xgot": 0.062,
                "ball_carries": 9.1275,
                "total_progression": 27.719,
                "progressive_carries": 0.6308,
                "key_pass": 0.6431,
                "shots_off_target": 0.5403,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.632,
                "opponent_faced": "Nahuel Tenaglia",
                "pressing_zone": "Left Wingback vs Right Back — Overlapping Run",
                "matchup_zone": "Left Wingback vs Right Back — Overlapping Run",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0998,
                "projected_assists": 0,
                "assist_probability": 0.1368,
                "finishing_factor": 1.0979,
                "creation_factor": 0.8,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.1368,
                "assist_rate": 0.0049,
                "provider_weight": 0.1177,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0972,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Marcão": {
          "player_id": 840951,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 23,
          "height": 185,
          "market_value": 2600000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 6,
            "aerial_won": 2,
            "total_shots": 1,
            "rating": 6.7915,
            "minutes": 81,
            "total_pass": 42,
            "accurate_pass": 36,
            "duels_won": 5,
            "total_long_balls": 5,
            "accurate_long_balls": 2,
            "total_own_half_passes": 29,
            "accurate_own_half_passes": 27,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 9,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 53,
            "possession_lost": 6.2421,
            "dispossessed": 0.0,
            "duels_lost": 4,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 2,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.1137,
            "expected_assists": 0.0071,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0105,
            "ball_carries": 16,
            "total_progression": 0,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 0.9,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Lucas Boyé",
            "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.1075,
            "projected_assists": 0,
            "assist_probability": 0.0071,
            "finishing_factor": 0.8,
            "creation_factor": 0.9191,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 14083185.0,
              "match_date": "2025-12-20",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 68,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0017,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 44,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083147.0,
              "match_date": "2025-11-30",
              "home_team": "Sevilla",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 19,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083125.0,
              "match_date": "2025-11-24",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3048,
                "expected_assists": 0.0026,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 55,
                "accurate_pass": 48,
                "clearances": 8,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083120.0,
              "match_date": "2025-11-08",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.009,
                "expected_assists": 0.0029,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 31,
                "accurate_pass": 26,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 8,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083094.0,
              "match_date": "2025-11-01",
              "home_team": "Atlético Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0034,
                "total_shots": 0,
                "total_pass": 64,
                "accurate_pass": 57,
                "tackles": 3,
                "clearances": 7,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083712.0,
              "match_date": "2025-10-24",
              "home_team": "Real Sociedad",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0088,
                "total_shots": 0,
                "total_pass": 53,
                "accurate_pass": 47,
                "clearances": 5,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083699.0,
              "match_date": "2025-10-18",
              "home_team": "Sevilla",
              "away_team": "Mallorca",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Mallorca",
              "stats": {
                "minutes": 90,
                "rating": 5.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1859,
                "expected_assists": 0.003,
                "total_shots": 1,
                "total_pass": 47,
                "accurate_pass": 40,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 4,
                "duels_won": 9,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083630.0,
              "match_date": "2025-10-05",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1204,
                "expected_assists": 0.0013,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 22,
                "accurate_pass": 18,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083574.0,
              "match_date": "2025-09-28",
              "home_team": "Rayo Vallecano",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 7.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.021,
                "total_shots": 0,
                "total_pass": 19,
                "accurate_pass": 18,
                "clearances": 7,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083259.0,
              "match_date": "2025-09-20",
              "home_team": "Deportivo Alavés",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0263,
                "expected_assists": 0.0165,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 42,
                "accurate_pass": 35,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 4137,
            "combined_rank_score": 2135.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 767.0,
            "sofascore_rating": 6.6462,
            "sofascore_appearances": 13.0,
            "fifa_rank": 3503.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7915,
            "source_file": "data/player_rankings.csv",
            "player_name": "Marcão",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Tyrique George",
                  "ranking": 4132
                },
                {
                  "player_name": "Yunus Musah",
                  "ranking": 4133
                },
                {
                  "player_name": "Florent Muslija",
                  "ranking": 4134
                },
                {
                  "player_name": "Darnell Furlong",
                  "ranking": 4135
                },
                {
                  "player_name": "Lucas Noubi",
                  "ranking": 4136
                }
              ],
              "lower": [
                {
                  "player_name": "Nicolás Valentini",
                  "ranking": 4138
                },
                {
                  "player_name": "Borna Sosa",
                  "ranking": 4139
                },
                {
                  "player_name": "Nathan Broadhead",
                  "ranking": 4140
                },
                {
                  "player_name": "Fábio Cardoso",
                  "ranking": 4141
                },
                {
                  "player_name": "Jorge Sánchez",
                  "ranking": 4142
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 13,
          "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": 13,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9944,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (D_service) evaluated 13 historical appearances across 7 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.9022,
                "tackles": 1.2339,
                "tackles_won": 0.7455,
                "clearances": 5.8176,
                "aerial_won": 2.2514,
                "total_shots": 0.5539,
                "rating": 6.7915,
                "minutes": 80.82,
                "total_pass": 41.9678,
                "accurate_pass": 36.4191,
                "duels_won": 5.0689,
                "total_long_balls": 5.1353,
                "accurate_long_balls": 2.2624,
                "total_own_half_passes": 28.8822,
                "accurate_own_half_passes": 27.1357,
                "total_opp_half_passes": 13.0856,
                "accurate_opp_half_passes": 9.2834,
                "crosses_total": 0.0355,
                "crosses_accurate": 0.0,
                "touches": 53.6045,
                "possession_lost": 6.2773,
                "dispossessed": 0.0,
                "duels_lost": 4.0867,
                "aerial_lost": 2.1083,
                "total_contest": 0.0417,
                "won_contest": 0.0417,
                "ball_recovery": 2.682,
                "challenges_lost": 0.2631,
                "fouls": 1.979,
                "fouls_drawn": 1.6802,
                "blocks": 0.4221,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0635,
                "expected_assists": 0.0044,
                "shots_on_target": 0.2408,
                "big_chances_created": 0.0,
                "xgot": 0.0058,
                "ball_carries": 15.6803,
                "total_progression": 0.0,
                "progressive_carries": 0.4595,
                "key_pass": 0.0,
                "shots_off_target": 0.3131
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2025-12-20",
                    "opponent": "Real Madrid",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.1706,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2025-11-30",
                    "opponent": "Real Betis",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.145,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2025-11-24",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1233,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2025-11-08",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1048,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2025-11-01",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0891,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2025-10-24",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0757,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2025-10-18",
                    "opponent": "Mallorca",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0644,
                    "rating": 5.8
                  },
                  {
                    "match_date": "2025-10-05",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0547,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2025-09-28",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0465,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2025-09-20",
                    "opponent": "Deportivo Alavés",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0395,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 13.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 4.7061,
                  "aerialWon": 2.0826,
                  "totalClearance_p90": 6.2308,
                  "totalTackle": 1.1119,
                  "totalTackle_p90": 1.2223
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9022425413131714,
                    "model_output": 0.9022,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1124
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.1101
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0237
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0142
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "contribution": -0.0108
                        }
                      ],
                      "others": 0.0017,
                      "total": 0.9022,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.121366
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.118744
                        },
                        {
                          "name": "touches",
                          "margin": 0.026759
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.015665
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "margin": -0.01188
                        }
                      ],
                      "others_margin": 0.001931
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.2338522672653198,
                    "model_output": 1.2339,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1713
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0794
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0558
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0519
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0493
                        }
                      ],
                      "others": -0.0885,
                      "total": 1.2339,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.116397
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.052306
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.038468
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.037137
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.036622
                        }
                      ],
                      "others_margin": -0.069224
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.7455053329467773,
                    "model_output": 0.7455,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.102
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.046
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.042
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.03
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0279
                        }
                      ],
                      "others": -0.0588,
                      "total": 0.7455,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.113524
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.049606
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.047565
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.035473
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.034049
                        }
                      ],
                      "others_margin": -0.07591
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 5.817566394805908,
                    "model_output": 5.8176,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4575
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.3625
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.3567
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.3758
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.1308
                        }
                      ],
                      "others": 0.7186,
                      "total": 5.8176,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.125697
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.089456
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.080846
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.07865
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.025997
                        }
                      ],
                      "others_margin": 0.131852
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 2.251445770263672,
                    "model_output": 2.2514,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": 0.2677
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1793
                        },
                        {
                          "name": "aerialLost",
                          "contribution": 0.1302
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.1272
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.1077
                        }
                      ],
                      "others": 0.0696,
                      "total": 2.2514,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": 0.178538
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.103908
                        },
                        {
                          "name": "aerialLost",
                          "margin": 0.06923
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.063304
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.050641
                        }
                      ],
                      "others_margin": 0.031357
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5539380311965942,
                    "model_output": 0.5539,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0588
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0256
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0187
                        },
                        {
                          "name": "duelWon",
                          "contribution": 0.0186
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0164
                        }
                      ],
                      "others": 0.0048,
                      "total": 0.5539,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.058805
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.025646
                        },
                        {
                          "name": "rating",
                          "margin": -0.018663
                        },
                        {
                          "name": "duelWon",
                          "margin": 0.0186
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.016438
                        }
                      ],
                      "others_margin": 0.004739
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.791536331176758,
                    "model_output": 6.7915,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": -0.0194
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0177
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0121
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0104
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0104
                        }
                      ],
                      "others": 0.0177,
                      "total": 6.7915,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": -0.019366
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.017713
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.012146
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": 0.010428
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.010378
                        }
                      ],
                      "others_margin": 0.01764
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 13,
                  "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 0.9944, quality 0.437)",
              "stats": {
                "interceptions": 0.8972,
                "tackles": 1.2269,
                "tackles_won": 0.7413,
                "clearances": 5.785,
                "aerial_won": 2.2388,
                "total_shots": 0.5508,
                "rating": 6.7915,
                "minutes": 80.82,
                "total_pass": 41.7328,
                "accurate_pass": 36.2152,
                "duels_won": 5.0405,
                "total_long_balls": 5.1065,
                "accurate_long_balls": 2.2497,
                "total_own_half_passes": 28.7205,
                "accurate_own_half_passes": 26.9837,
                "total_opp_half_passes": 13.0123,
                "accurate_opp_half_passes": 9.2314,
                "crosses_total": 0.0353,
                "crosses_accurate": 0.0,
                "touches": 53.3043,
                "possession_lost": 6.2421,
                "dispossessed": 0.0,
                "duels_lost": 4.0638,
                "aerial_lost": 2.0965,
                "total_contest": 0.0415,
                "won_contest": 0.0415,
                "ball_recovery": 2.667,
                "challenges_lost": 0.2616,
                "fouls": 1.9679,
                "fouls_drawn": 1.6708,
                "blocks": 0.4197,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0631,
                "expected_assists": 0.0044,
                "shots_on_target": 0.2395,
                "big_chances_created": 0.0,
                "xgot": 0.0058,
                "ball_carries": 15.5925,
                "total_progression": 0.0,
                "progressive_carries": 0.4569,
                "key_pass": 0.0,
                "shots_off_target": 0.3113
              },
              "params": {
                "market_value_eur": 2600000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9944,
                "reference_quality": 0.505,
                "history_matches": 13,
                "history_shrink": 0.2778,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.8972,
                "tackles": 1.2269,
                "tackles_won": 0.7413,
                "clearances": 5.785,
                "aerial_won": 2.2388,
                "total_shots": 0.5508,
                "rating": 6.7915,
                "minutes": 80.82,
                "total_pass": 41.7328,
                "accurate_pass": 36.2152,
                "duels_won": 5.0405,
                "total_long_balls": 5.1065,
                "accurate_long_balls": 2.2497,
                "total_own_half_passes": 28.7205,
                "accurate_own_half_passes": 26.9837,
                "total_opp_half_passes": 13.0123,
                "accurate_opp_half_passes": 9.2314,
                "crosses_total": 0.0353,
                "crosses_accurate": 0.0,
                "touches": 53.3043,
                "possession_lost": 6.2421,
                "dispossessed": 0.0,
                "duels_lost": 4.0638,
                "aerial_lost": 2.0965,
                "total_contest": 0.0415,
                "won_contest": 0.0415,
                "ball_recovery": 2.667,
                "challenges_lost": 0.2616,
                "fouls": 1.9679,
                "fouls_drawn": 1.6708,
                "blocks": 0.4197,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0631,
                "expected_assists": 0.0044,
                "shots_on_target": 0.2395,
                "big_chances_created": 0.0,
                "xgot": 0.0058,
                "ball_carries": 15.5925,
                "total_progression": 0.0,
                "progressive_carries": 0.4569,
                "key_pass": 0.0,
                "shots_off_target": 0.3113
              },
              "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.8972,
                "tackles": 1.2269,
                "tackles_won": 0.7413,
                "clearances": 5.785,
                "aerial_won": 2.2388,
                "total_shots": 0.5508,
                "rating": 6.7915,
                "minutes": 80.82,
                "total_pass": 41.7328,
                "accurate_pass": 36.2152,
                "duels_won": 5.0405,
                "total_long_balls": 5.1065,
                "accurate_long_balls": 2.2497,
                "total_own_half_passes": 28.7205,
                "accurate_own_half_passes": 26.9837,
                "total_opp_half_passes": 13.0123,
                "accurate_opp_half_passes": 9.2314,
                "crosses_total": 0.0353,
                "crosses_accurate": 0.0,
                "touches": 53.3043,
                "possession_lost": 6.2421,
                "dispossessed": 0.0,
                "duels_lost": 4.0638,
                "aerial_lost": 2.0965,
                "total_contest": 0.0415,
                "won_contest": 0.0415,
                "ball_recovery": 2.667,
                "challenges_lost": 0.2616,
                "fouls": 1.9679,
                "fouls_drawn": 1.6708,
                "blocks": 0.4197,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0631,
                "expected_assists": 0.0044,
                "shots_on_target": 0.2395,
                "big_chances_created": 0.0,
                "xgot": 0.0058,
                "ball_carries": 15.5925,
                "total_progression": 0.0,
                "progressive_carries": 0.4569,
                "key_pass": 0.0,
                "shots_off_target": 0.3113,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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": "Lucas Boyé",
                  "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.8972,
                "tackles": 1.2269,
                "tackles_won": 0.7413,
                "clearances": 5.785,
                "aerial_won": 2.2388,
                "total_shots": 0.5508,
                "rating": 6.7915,
                "minutes": 80.82,
                "total_pass": 41.7328,
                "accurate_pass": 36.2152,
                "duels_won": 5.0405,
                "total_long_balls": 5.1065,
                "accurate_long_balls": 2.2497,
                "total_own_half_passes": 28.7205,
                "accurate_own_half_passes": 26.9837,
                "total_opp_half_passes": 13.0123,
                "accurate_opp_half_passes": 9.2314,
                "crosses_total": 0.0353,
                "crosses_accurate": 0.0,
                "touches": 53.3043,
                "possession_lost": 6.2421,
                "dispossessed": 0.0,
                "duels_lost": 4.0638,
                "aerial_lost": 2.0965,
                "total_contest": 0.0415,
                "won_contest": 0.0415,
                "ball_recovery": 2.667,
                "challenges_lost": 0.2616,
                "fouls": 1.9679,
                "fouls_drawn": 1.6708,
                "blocks": 0.4197,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0631,
                "expected_assists": 0.0044,
                "shots_on_target": 0.2395,
                "big_chances_created": 0.0,
                "xgot": 0.0058,
                "ball_carries": 15.5925,
                "total_progression": 0.0,
                "progressive_carries": 0.4569,
                "key_pass": 0.0,
                "shots_off_target": 0.3113,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "interceptions": 0.8972,
                "tackles": 1.2269,
                "tackles_won": 0.7413,
                "clearances": 5.785,
                "aerial_won": 2.2388,
                "total_shots": 0.5508,
                "rating": 6.7915,
                "minutes": 80.82,
                "total_pass": 41.7328,
                "accurate_pass": 36.2152,
                "duels_won": 5.0405,
                "total_long_balls": 5.1065,
                "accurate_long_balls": 2.2497,
                "total_own_half_passes": 28.7205,
                "accurate_own_half_passes": 26.9837,
                "total_opp_half_passes": 13.0123,
                "accurate_opp_half_passes": 9.2314,
                "crosses_total": 0.0353,
                "crosses_accurate": 0.0,
                "touches": 53.3043,
                "possession_lost": 6.2421,
                "dispossessed": 0.0,
                "duels_lost": 4.0638,
                "aerial_lost": 2.0965,
                "total_contest": 0.0415,
                "won_contest": 0.0415,
                "ball_recovery": 2.667,
                "challenges_lost": 0.2616,
                "fouls": 1.9679,
                "fouls_drawn": 1.6708,
                "blocks": 0.4197,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1137,
                "expected_assists": 0.0071,
                "shots_on_target": 0.2395,
                "big_chances_created": 0.0,
                "xgot": 0.0105,
                "ball_carries": 15.5925,
                "total_progression": 0.0,
                "progressive_carries": 0.4569,
                "key_pass": 0.0,
                "shots_off_target": 0.3113,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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": 0.9191
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0631,
                  "after": 0.1137
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 10 by projected rating, fifa_overall 73.0)",
              "stats": {
                "interceptions": 0.8972,
                "tackles": 1.2269,
                "tackles_won": 0.7413,
                "clearances": 5.785,
                "aerial_won": 2.2388,
                "total_shots": 0.5508,
                "rating": 6.7915,
                "minutes": 80.82,
                "total_pass": 41.7328,
                "accurate_pass": 36.2152,
                "duels_won": 5.0405,
                "total_long_balls": 5.1065,
                "accurate_long_balls": 2.2497,
                "total_own_half_passes": 28.7205,
                "accurate_own_half_passes": 26.9837,
                "total_opp_half_passes": 13.0123,
                "accurate_opp_half_passes": 9.2314,
                "crosses_total": 0.0353,
                "crosses_accurate": 0.0,
                "touches": 53.3043,
                "possession_lost": 6.2421,
                "dispossessed": 0.0,
                "duels_lost": 4.0638,
                "aerial_lost": 2.0965,
                "total_contest": 0.0415,
                "won_contest": 0.0415,
                "ball_recovery": 2.667,
                "challenges_lost": 0.2616,
                "fouls": 1.9679,
                "fouls_drawn": 1.6708,
                "blocks": 0.4197,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1137,
                "expected_assists": 0.0071,
                "shots_on_target": 0.2395,
                "big_chances_created": 0.0,
                "xgot": 0.0105,
                "ball_carries": 15.5925,
                "total_progression": 0.0,
                "progressive_carries": 0.4569,
                "key_pass": 0.0,
                "shots_off_target": 0.3113,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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": 0.9191,
                "fifa_overall": 73.0
              },
              "params": {
                "match_squad_rank": 10,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 4137,
                "fifa_rank": 3503.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 73.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.8972,
                "tackles": 1.2269,
                "tackles_won": 0.7413,
                "clearances": 5.785,
                "aerial_won": 2.2388,
                "total_shots": 0.5508,
                "rating": 6.7915,
                "minutes": 80.82,
                "total_pass": 41.7328,
                "accurate_pass": 36.2152,
                "duels_won": 5.0405,
                "total_long_balls": 5.1065,
                "accurate_long_balls": 2.2497,
                "total_own_half_passes": 28.7205,
                "accurate_own_half_passes": 26.9837,
                "total_opp_half_passes": 13.0123,
                "accurate_opp_half_passes": 9.2314,
                "crosses_total": 0.0353,
                "crosses_accurate": 0.0,
                "touches": 53.3043,
                "possession_lost": 6.2421,
                "dispossessed": 0.0,
                "duels_lost": 4.0638,
                "aerial_lost": 2.0965,
                "total_contest": 0.0415,
                "won_contest": 0.0415,
                "ball_recovery": 2.667,
                "challenges_lost": 0.2616,
                "fouls": 1.9679,
                "fouls_drawn": 1.6708,
                "blocks": 0.4197,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1137,
                "expected_assists": 0.0071,
                "shots_on_target": 0.2395,
                "big_chances_created": 0.0,
                "xgot": 0.0105,
                "ball_carries": 15.5925,
                "total_progression": 0.0,
                "progressive_carries": 0.4569,
                "key_pass": 0.0,
                "shots_off_target": 0.3113,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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.1075,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.9191,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.1075,
                "goal_rate": 0.0,
                "scorer_weight": 0.091,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0554,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 10,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.8972,
                "tackles": 1.2269,
                "tackles_won": 0.7413,
                "clearances": 5.785,
                "aerial_won": 2.2388,
                "total_shots": 0.5508,
                "rating": 6.7915,
                "minutes": 80.82,
                "total_pass": 41.7328,
                "accurate_pass": 36.2152,
                "duels_won": 5.0405,
                "total_long_balls": 5.1065,
                "accurate_long_balls": 2.2497,
                "total_own_half_passes": 28.7205,
                "accurate_own_half_passes": 26.9837,
                "total_opp_half_passes": 13.0123,
                "accurate_opp_half_passes": 9.2314,
                "crosses_total": 0.0353,
                "crosses_accurate": 0.0,
                "touches": 53.3043,
                "possession_lost": 6.2421,
                "dispossessed": 0.0,
                "duels_lost": 4.0638,
                "aerial_lost": 2.0965,
                "total_contest": 0.0415,
                "won_contest": 0.0415,
                "ball_recovery": 2.667,
                "challenges_lost": 0.2616,
                "fouls": 1.9679,
                "fouls_drawn": 1.6708,
                "blocks": 0.4197,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1137,
                "expected_assists": 0.0071,
                "shots_on_target": 0.2395,
                "big_chances_created": 0.0,
                "xgot": 0.0105,
                "ball_carries": 15.5925,
                "total_progression": 0.0,
                "progressive_carries": 0.4569,
                "key_pass": 0.0,
                "shots_off_target": 0.3113,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Lucas Boyé",
                "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.1075,
                "projected_assists": 0,
                "assist_probability": 0.0071,
                "finishing_factor": 0.8,
                "creation_factor": 0.9191,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0071,
                "assist_rate": 0.0,
                "provider_weight": 0.0065,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0054,
                "creation_factor": 0.9191,
                "appearance_weight": 1.0,
                "weight_rank": 13,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Lucien Agoumé": {
          "player_id": 960006,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 6,
          "height": 185,
          "market_value": 18500000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0696,
            "assist_rate": 0.0494,
            "assists": 0,
            "expected_goals": 0.0926,
            "goal_rate": 0.0583,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.8985,
            "minutes": 88,
            "total_pass": 43,
            "accurate_pass": 36,
            "duels_won": 4,
            "total_long_balls": 7,
            "accurate_long_balls": 4,
            "total_own_half_passes": 18,
            "accurate_own_half_passes": 16,
            "total_opp_half_passes": 25,
            "accurate_opp_half_passes": 20,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 56,
            "possession_lost": 9.8835,
            "dispossessed": 0.5037,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 2,
            "tackles": 3,
            "clearances": 2,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1442,
            "ball_carries": 13,
            "total_progression": 36,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "duel_xg_multiplier": 1.1597,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.9,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.529,
            "pressing_faced": "LOW",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Pablo Ibáñez",
            "opponent_faced": "Pablo Ibáñez",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0884,
            "projected_assists": 0,
            "assist_probability": 0.0672,
            "finishing_factor": 1.068,
            "creation_factor": 1.0654,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16421093.0,
              "match_date": "2026-11-01 13:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Getafe",
              "away_team": "Sevilla",
              "home_score_current": 3.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "lineup.csv"
            },
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.044,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 53,
                "accurate_pass": 45,
                "tackles": 4,
                "tackles_won": 3,
                "interceptions": 0,
                "clearances": 2,
                "aerial_won": 0,
                "duels_won": 4,
                "ball_recovery": 6,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1314,
                "expected_assists": 0.0067,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 46,
                "accurate_pass": 35,
                "tackles": 4,
                "tackles_won": 3,
                "interceptions": 3,
                "duels_won": 4,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063.0,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0416,
                "expected_assists": 0.0141,
                "total_shots": 1,
                "total_pass": 38,
                "accurate_pass": 29,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416349.0,
              "match_date": "2026-09-19",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0119,
                "total_shots": 0,
                "total_pass": 31,
                "accurate_pass": 29,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0239,
                "expected_assists": 0.0307,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 65,
                "accurate_pass": 60,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 3,
                "clearances": 1,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0354,
                "expected_assists": 0.0446,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 46,
                "accurate_pass": 39,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1057,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 35,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 4,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0379,
                "expected_assists": 0.0528,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 46,
                "accurate_pass": 41,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0125,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 21,
                "tackles": 5,
                "tackles_won": 5,
                "interceptions": 5,
                "clearances": 8,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3222,
            "combined_rank_score": 1170.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 374.0,
            "sofascore_rating": 6.9667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1966.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8985,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucien Agoumé",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lazaros Rota",
                  "ranking": 3217
                },
                {
                  "player_name": "Joshua Zirkzee",
                  "ranking": 3218
                },
                {
                  "player_name": "Camilo Vargas",
                  "ranking": 3219
                },
                {
                  "player_name": "Hugo Duro",
                  "ranking": 3220
                },
                {
                  "player_name": "Chris Führich",
                  "ranking": 3221
                }
              ],
              "lower": [
                {
                  "player_name": "Maarten Vandevoordt",
                  "ranking": 3223
                },
                {
                  "player_name": "Nikola Vasilj",
                  "ranking": 3224
                },
                {
                  "player_name": "Wouter Burger",
                  "ranking": 3225
                },
                {
                  "player_name": "Daniel James",
                  "ranking": 3226
                },
                {
                  "player_name": "Jhon Lucumí",
                  "ranking": 3227
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 44,
          "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": 44,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0034,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.67,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (M_service) evaluated 44 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.20, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.518,
                "expected_assists": 0.0432,
                "assists": 0.05,
                "assist_rate": 0.05,
                "expected_goals": 0.0442,
                "goals": 0.0509,
                "goal_rate": 0.0509,
                "shots_on_target": 0.174,
                "total_shots": 0.6264,
                "rating": 6.8985,
                "minutes": 88.46,
                "total_pass": 42.7612,
                "accurate_pass": 35.5987,
                "duels_won": 4.3165,
                "total_long_balls": 7.0602,
                "accurate_long_balls": 4.229,
                "total_own_half_passes": 17.6175,
                "accurate_own_half_passes": 16.0732,
                "total_opp_half_passes": 25.1438,
                "accurate_opp_half_passes": 19.5256,
                "crosses_total": 0.189,
                "crosses_accurate": 0.0374,
                "touches": 56.1635,
                "possession_lost": 9.85,
                "dispossessed": 0.502,
                "duels_lost": 5.1312,
                "aerial_won": 0.4292,
                "aerial_lost": 1.1616,
                "interceptions": 1.3327,
                "tackles_won": 2.1067,
                "tackles": 3.1487,
                "clearances": 1.6858,
                "total_contest": 0.8325,
                "won_contest": 0.3212,
                "challenges_lost": 1.3605,
                "fouls": 1.7631,
                "fouls_drawn": 0.4174,
                "blocks": 0.1184,
                "big_chances_created": 0.1274,
                "big_chances_missed": 0.0,
                "xgot": 0.0688,
                "ball_carries": 12.5982,
                "total_progression": 35.9396,
                "progressive_carries": 0.895,
                "shots_off_target": 0.4524
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Levante UD",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.6109,
                  "creative_index": 0.1792,
                  "expectedGoals": 0.0306,
                  "expectedAssists": 0.0355,
                  "keyPass": 0.3947
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5180136561393738,
                    "model_output": 0.518,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.1078
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0943
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0846
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0737
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0395
                        }
                      ],
                      "others": -0.1609,
                      "total": 0.518,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.129127
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.113759
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.101546
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.097676
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.056634
                        }
                      ],
                      "others_margin": -0.270231
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.043201789259910583,
                    "model_output": 0.0432,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0179
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0138
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.007
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0031
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0024
                        }
                      ],
                      "others": -0.0113,
                      "total": 0.0432,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.237283
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.231021
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.124773
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.053746
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.042267
                        }
                      ],
                      "others_margin": -0.233404
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.04995480179786682,
                    "model_output": 0.05,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0082
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0064
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0061
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0039
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0035
                        }
                      ],
                      "others": -0.0192,
                      "total": 0.05,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.100797
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.087505
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.083084
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.052687
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.049186
                        }
                      ],
                      "others_margin": -0.326072
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.04416936635971069,
                    "model_output": 0.0442,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0207
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0105
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0097
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0072
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0029
                        }
                      ],
                      "others": -0.0176,
                      "total": 0.0442,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.255572
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.137966
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.126029
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.105319
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.045278
                        }
                      ],
                      "others_margin": -0.337529
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.05085691064596176,
                    "model_output": 0.0509,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0162
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0116
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0082
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0056
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0041
                        }
                      ],
                      "others": -0.0144,
                      "total": 0.0509,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.187703
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.160237
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.115183
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.077175
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.061204
                        }
                      ],
                      "others_margin": -0.249217
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.17400920391082764,
                    "model_output": 0.174,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0776
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.032
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0305
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0177
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.009
                        }
                      ],
                      "others": -0.0381,
                      "total": 0.174,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.280048
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.143104
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.136528
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.077216
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.041761
                        }
                      ],
                      "others_margin": -0.196958
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6264109015464783,
                    "model_output": 0.6264,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.2514
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1266
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0429
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0375
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0232
                        }
                      ],
                      "others": -0.1301,
                      "total": 0.6264,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.251443
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.126559
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.04287
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.037519
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.023159
                        }
                      ],
                      "others_margin": -0.130093
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.8984904289245605,
                    "model_output": 6.8985,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0831
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0432
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0161
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0152
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0114
                        }
                      ],
                      "others": -0.0425,
                      "total": 6.8985,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.083106
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.043206
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.016088
                        },
                        {
                          "name": "rating",
                          "margin": -0.015154
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.011431
                        }
                      ],
                      "others_margin": -0.042555
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 44,
                  "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 1.0034, quality 0.616)",
              "stats": {
                "key_pass": 0.5198,
                "expected_assists": 0.0433,
                "assists": 0.0501,
                "assist_rate": 0.0501,
                "expected_goals": 0.0443,
                "goals": 0.051,
                "goal_rate": 0.051,
                "shots_on_target": 0.1746,
                "total_shots": 0.6285,
                "rating": 6.8985,
                "minutes": 88.46,
                "total_pass": 42.9066,
                "accurate_pass": 35.7197,
                "duels_won": 4.3312,
                "total_long_balls": 7.0842,
                "accurate_long_balls": 4.2434,
                "total_own_half_passes": 17.6774,
                "accurate_own_half_passes": 16.1278,
                "total_opp_half_passes": 25.2293,
                "accurate_opp_half_passes": 19.592,
                "crosses_total": 0.1896,
                "crosses_accurate": 0.0375,
                "touches": 56.3545,
                "possession_lost": 9.8835,
                "dispossessed": 0.5037,
                "duels_lost": 5.1486,
                "aerial_won": 0.4307,
                "aerial_lost": 1.1655,
                "interceptions": 1.3372,
                "tackles_won": 2.1139,
                "tackles": 3.1594,
                "clearances": 1.6915,
                "total_contest": 0.8353,
                "won_contest": 0.3223,
                "challenges_lost": 1.3651,
                "fouls": 1.7691,
                "fouls_drawn": 0.4188,
                "blocks": 0.1188,
                "big_chances_created": 0.1278,
                "big_chances_missed": 0.0,
                "xgot": 0.069,
                "ball_carries": 12.641,
                "total_progression": 36.0618,
                "progressive_carries": 0.898,
                "shots_off_target": 0.4539
              },
              "params": {
                "market_value_eur": 18500000,
                "quality_factor": 0.6161,
                "boost_factor": 1.0034,
                "reference_quality": 0.505,
                "history_matches": 44,
                "history_shrink": 0.102,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0133)",
              "stats": {
                "key_pass": 0.5198,
                "expected_assists": 0.0433,
                "assists": 0.0494,
                "assist_rate": 0.0494,
                "expected_goals": 0.0443,
                "goals": 0.0503,
                "goal_rate": 0.0503,
                "shots_on_target": 0.1723,
                "total_shots": 0.6289,
                "rating": 6.8985,
                "minutes": 88.46,
                "total_pass": 42.9066,
                "accurate_pass": 35.7197,
                "duels_won": 4.3312,
                "total_long_balls": 7.0842,
                "accurate_long_balls": 4.2434,
                "total_own_half_passes": 17.6774,
                "accurate_own_half_passes": 16.1278,
                "total_opp_half_passes": 25.2293,
                "accurate_opp_half_passes": 19.592,
                "crosses_total": 0.2045,
                "crosses_accurate": 0.0375,
                "touches": 56.3545,
                "possession_lost": 9.8835,
                "dispossessed": 0.5037,
                "duels_lost": 5.1486,
                "aerial_won": 0.4307,
                "aerial_lost": 1.1655,
                "interceptions": 1.3455,
                "tackles_won": 2.1293,
                "tackles": 3.1594,
                "clearances": 1.6915,
                "total_contest": 0.8353,
                "won_contest": 0.3223,
                "challenges_lost": 1.3651,
                "fouls": 1.7804,
                "fouls_drawn": 0.435,
                "blocks": 0.1188,
                "big_chances_created": 0.1278,
                "big_chances_missed": 0.0,
                "xgot": 0.069,
                "ball_carries": 12.641,
                "total_progression": 36.0618,
                "progressive_carries": 0.898,
                "shots_off_target": 0.4539
              },
              "params": {
                "blend_weight": 0.0133,
                "history_matches": 44,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9829,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Sevilla"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 0.4188,
                  "after": 0.435
                },
                {
                  "stat": "wonTackle",
                  "before": 2.1139,
                  "after": 2.1293
                },
                {
                  "stat": "totalCross",
                  "before": 0.1896,
                  "after": 0.2045
                },
                {
                  "stat": "fouls",
                  "before": 1.7691,
                  "after": 1.7804
                },
                {
                  "stat": "interceptionWon",
                  "before": 1.3372,
                  "after": 1.3455
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.5198,
                "expected_assists": 0.0433,
                "assists": 0.0494,
                "assist_rate": 0.0494,
                "expected_goals": 0.0443,
                "goals": 0.0503,
                "goal_rate": 0.0503,
                "shots_on_target": 0.1723,
                "total_shots": 0.6289,
                "rating": 6.8985,
                "minutes": 88.46,
                "total_pass": 42.9066,
                "accurate_pass": 35.7197,
                "duels_won": 4.3312,
                "total_long_balls": 7.0842,
                "accurate_long_balls": 4.2434,
                "total_own_half_passes": 17.6774,
                "accurate_own_half_passes": 16.1278,
                "total_opp_half_passes": 25.2293,
                "accurate_opp_half_passes": 19.592,
                "crosses_total": 0.2045,
                "crosses_accurate": 0.0375,
                "touches": 56.3545,
                "possession_lost": 9.8835,
                "dispossessed": 0.5037,
                "duels_lost": 5.1486,
                "aerial_won": 0.4307,
                "aerial_lost": 1.1655,
                "interceptions": 1.3455,
                "tackles_won": 2.1293,
                "tackles": 3.1594,
                "clearances": 1.6915,
                "total_contest": 0.8353,
                "won_contest": 0.3223,
                "challenges_lost": 1.3651,
                "fouls": 1.7804,
                "fouls_drawn": 0.435,
                "blocks": 0.1188,
                "big_chances_created": 0.1278,
                "big_chances_missed": 0.0,
                "xgot": 0.069,
                "ball_carries": 12.641,
                "total_progression": 36.0618,
                "progressive_carries": 0.898,
                "shots_off_target": 0.4539
              },
              "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.5198,
                "expected_assists": 0.0433,
                "assists": 0.0494,
                "assist_rate": 0.0494,
                "expected_goals": 0.0514,
                "goals": 0.0583,
                "goal_rate": 0.0583,
                "shots_on_target": 0.1998,
                "total_shots": 0.7293,
                "rating": 6.8985,
                "minutes": 88.46,
                "total_pass": 42.9066,
                "accurate_pass": 35.7197,
                "duels_won": 4.3312,
                "total_long_balls": 7.0842,
                "accurate_long_balls": 4.2434,
                "total_own_half_passes": 17.6774,
                "accurate_own_half_passes": 16.1278,
                "total_opp_half_passes": 25.2293,
                "accurate_opp_half_passes": 19.592,
                "crosses_total": 0.2045,
                "crosses_accurate": 0.0375,
                "touches": 56.3545,
                "possession_lost": 9.8835,
                "dispossessed": 0.5037,
                "duels_lost": 5.1486,
                "aerial_won": 1.2,
                "aerial_lost": 1.1655,
                "interceptions": 1.3455,
                "tackles_won": 2.1293,
                "tackles": 3.1594,
                "clearances": 1.6915,
                "total_contest": 0.8353,
                "won_contest": 0.3223,
                "challenges_lost": 1.3651,
                "fouls": 1.7804,
                "fouls_drawn": 0.435,
                "blocks": 0.1188,
                "big_chances_created": 0.1278,
                "big_chances_missed": 0.0,
                "xgot": 0.08,
                "ball_carries": 12.641,
                "total_progression": 36.0618,
                "progressive_carries": 0.898,
                "shots_off_target": 0.5264,
                "duel_xg_multiplier": 1.1597,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.529,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Pablo Ibáñez",
                  "matchup_zone": "CDM vs CDM",
                  "duel_win_rate": 0.529,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 1.1597,
                  "skill_edge": 0.0846,
                  "height_edge": 0.024,
                  "attacker_skill": 0.648,
                  "defender_skill": 0.46,
                  "attacker_role": "CDM",
                  "attacker_mv_price_index": 0.85,
                  "defender_adjusted_parts": [
                    {
                      "player": "Pablo Ibáñez",
                      "market_value": 4099999,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.46
                    }
                  ],
                  "xg_override": 0.0514
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.4307,
                  "after": 1.2
                },
                {
                  "stat": "totalShots",
                  "before": 0.6289,
                  "after": 0.7293
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.4539,
                  "after": 0.5264
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.1723,
                  "after": 0.1998
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.069,
                  "after": 0.08
                },
                {
                  "stat": "goals",
                  "before": 0.0503,
                  "after": 0.0583
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.0443,
                  "after": 0.0514
                }
              ]
            },
            {
              "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.5198,
                "expected_assists": 0.0433,
                "assist_rate": 0.0494,
                "assists": 0,
                "expected_goals": 0.0514,
                "goal_rate": 0.0583,
                "goals": 0,
                "shots_on_target": 0.1998,
                "total_shots": 0.7293,
                "rating": 6.8985,
                "minutes": 88.46,
                "total_pass": 42.9066,
                "accurate_pass": 35.7197,
                "duels_won": 4.3312,
                "total_long_balls": 7.0842,
                "accurate_long_balls": 4.2434,
                "total_own_half_passes": 17.6774,
                "accurate_own_half_passes": 16.1278,
                "total_opp_half_passes": 25.2293,
                "accurate_opp_half_passes": 19.592,
                "crosses_total": 0.2045,
                "crosses_accurate": 0.0375,
                "touches": 56.3545,
                "possession_lost": 9.8835,
                "dispossessed": 0.5037,
                "duels_lost": 5.1486,
                "aerial_won": 1.2,
                "aerial_lost": 1.1655,
                "interceptions": 1.3455,
                "tackles_won": 2.1293,
                "tackles": 3.1594,
                "clearances": 1.6915,
                "total_contest": 0.8353,
                "won_contest": 0.3223,
                "challenges_lost": 1.3651,
                "fouls": 1.7804,
                "fouls_drawn": 0.435,
                "blocks": 0.1188,
                "big_chances_created": 0.1278,
                "big_chances_missed": 0.0,
                "xgot": 0.08,
                "ball_carries": 12.641,
                "total_progression": 36.0618,
                "progressive_carries": 0.898,
                "shots_off_target": 0.5264,
                "duel_xg_multiplier": 1.1597,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.529,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "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": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "key_pass": 0.5198,
                "expected_assists": 0.0696,
                "assist_rate": 0.0494,
                "assists": 0,
                "expected_goals": 0.0926,
                "goal_rate": 0.0583,
                "goals": 0,
                "shots_on_target": 0.1998,
                "total_shots": 0.7293,
                "rating": 6.8985,
                "minutes": 88.46,
                "total_pass": 42.9066,
                "accurate_pass": 35.7197,
                "duels_won": 4.3312,
                "total_long_balls": 7.0842,
                "accurate_long_balls": 4.2434,
                "total_own_half_passes": 17.6774,
                "accurate_own_half_passes": 16.1278,
                "total_opp_half_passes": 25.2293,
                "accurate_opp_half_passes": 19.592,
                "crosses_total": 0.2045,
                "crosses_accurate": 0.0375,
                "touches": 56.3545,
                "possession_lost": 9.8835,
                "dispossessed": 0.5037,
                "duels_lost": 5.1486,
                "aerial_won": 1.2,
                "aerial_lost": 1.1655,
                "interceptions": 1.3455,
                "tackles_won": 2.1293,
                "tackles": 3.1594,
                "clearances": 1.6915,
                "total_contest": 0.8353,
                "won_contest": 0.3223,
                "challenges_lost": 1.3651,
                "fouls": 1.7804,
                "fouls_drawn": 0.435,
                "blocks": 0.1188,
                "big_chances_created": 0.1278,
                "big_chances_missed": 0.0,
                "xgot": 0.1442,
                "ball_carries": 12.641,
                "total_progression": 36.0618,
                "progressive_carries": 0.898,
                "shots_off_target": 0.5264,
                "duel_xg_multiplier": 1.1597,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.529,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "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.068,
                "creation_factor": 1.0654
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0514,
                  "after": 0.0926
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0433,
                  "after": 0.0696
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 2 by projected rating, fifa_overall 76.0)",
              "stats": {
                "key_pass": 0.5198,
                "expected_assists": 0.0696,
                "assist_rate": 0.0494,
                "assists": 0,
                "expected_goals": 0.0926,
                "goal_rate": 0.0583,
                "goals": 0,
                "shots_on_target": 0.1998,
                "total_shots": 0.7293,
                "rating": 6.8985,
                "minutes": 88.46,
                "total_pass": 42.9066,
                "accurate_pass": 35.7197,
                "duels_won": 4.3312,
                "total_long_balls": 7.0842,
                "accurate_long_balls": 4.2434,
                "total_own_half_passes": 17.6774,
                "accurate_own_half_passes": 16.1278,
                "total_opp_half_passes": 25.2293,
                "accurate_opp_half_passes": 19.592,
                "crosses_total": 0.2045,
                "crosses_accurate": 0.0375,
                "touches": 56.3545,
                "possession_lost": 9.8835,
                "dispossessed": 0.5037,
                "duels_lost": 5.1486,
                "aerial_won": 1.2,
                "aerial_lost": 1.1655,
                "interceptions": 1.3455,
                "tackles_won": 2.1293,
                "tackles": 3.1594,
                "clearances": 1.6915,
                "total_contest": 0.8353,
                "won_contest": 0.3223,
                "challenges_lost": 1.3651,
                "fouls": 1.7804,
                "fouls_drawn": 0.435,
                "blocks": 0.1188,
                "big_chances_created": 0.1278,
                "big_chances_missed": 0.0,
                "xgot": 0.1442,
                "ball_carries": 12.641,
                "total_progression": 36.0618,
                "progressive_carries": 0.898,
                "shots_off_target": 0.5264,
                "duel_xg_multiplier": 1.1597,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.529,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "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.068,
                "creation_factor": 1.0654,
                "fifa_overall": 76.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": 3222,
                "fifa_rank": 1966.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 76.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.5198,
                "expected_assists": 0.0696,
                "assist_rate": 0.0494,
                "assists": 0,
                "expected_goals": 0.0926,
                "goal_rate": 0.0583,
                "goals": 0,
                "shots_on_target": 0.1998,
                "total_shots": 0.7293,
                "rating": 6.8985,
                "minutes": 88.46,
                "total_pass": 42.9066,
                "accurate_pass": 35.7197,
                "duels_won": 4.3312,
                "total_long_balls": 7.0842,
                "accurate_long_balls": 4.2434,
                "total_own_half_passes": 17.6774,
                "accurate_own_half_passes": 16.1278,
                "total_opp_half_passes": 25.2293,
                "accurate_opp_half_passes": 19.592,
                "crosses_total": 0.2045,
                "crosses_accurate": 0.0375,
                "touches": 56.3545,
                "possession_lost": 9.8835,
                "dispossessed": 0.5037,
                "duels_lost": 5.1486,
                "aerial_won": 1.2,
                "aerial_lost": 1.1655,
                "interceptions": 1.3455,
                "tackles_won": 2.1293,
                "tackles": 3.1594,
                "clearances": 1.6915,
                "total_contest": 0.8353,
                "won_contest": 0.3223,
                "challenges_lost": 1.3651,
                "fouls": 1.7804,
                "fouls_drawn": 0.435,
                "blocks": 0.1188,
                "big_chances_created": 0.1278,
                "big_chances_missed": 0.0,
                "xgot": 0.1442,
                "ball_carries": 12.641,
                "total_progression": 36.0618,
                "progressive_carries": 0.898,
                "shots_off_target": 0.5264,
                "duel_xg_multiplier": 1.1597,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.529,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0884,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.068,
                "creation_factor": 1.0654,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0884,
                "goal_rate": 0.0583,
                "scorer_weight": 0.0989,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0602,
                "finishing_factor": 1.068,
                "appearance_weight": 1.0,
                "weight_rank": 9,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.5198,
                "expected_assists": 0.0696,
                "assist_rate": 0.0494,
                "assists": 0,
                "expected_goals": 0.0926,
                "goal_rate": 0.0583,
                "goals": 0,
                "shots_on_target": 0.1998,
                "total_shots": 0.7293,
                "rating": 6.8985,
                "minutes": 88.46,
                "total_pass": 42.9066,
                "accurate_pass": 35.7197,
                "duels_won": 4.3312,
                "total_long_balls": 7.0842,
                "accurate_long_balls": 4.2434,
                "total_own_half_passes": 17.6774,
                "accurate_own_half_passes": 16.1278,
                "total_opp_half_passes": 25.2293,
                "accurate_opp_half_passes": 19.592,
                "crosses_total": 0.2045,
                "crosses_accurate": 0.0375,
                "touches": 56.3545,
                "possession_lost": 9.8835,
                "dispossessed": 0.5037,
                "duels_lost": 5.1486,
                "aerial_won": 1.2,
                "aerial_lost": 1.1655,
                "interceptions": 1.3455,
                "tackles_won": 2.1293,
                "tackles": 3.1594,
                "clearances": 1.6915,
                "total_contest": 0.8353,
                "won_contest": 0.3223,
                "challenges_lost": 1.3651,
                "fouls": 1.7804,
                "fouls_drawn": 0.435,
                "blocks": 0.1188,
                "big_chances_created": 0.1278,
                "big_chances_missed": 0.0,
                "xgot": 0.1442,
                "ball_carries": 12.641,
                "total_progression": 36.0618,
                "progressive_carries": 0.898,
                "shots_off_target": 0.5264,
                "duel_xg_multiplier": 1.1597,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.529,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0884,
                "projected_assists": 0,
                "assist_probability": 0.0672,
                "finishing_factor": 1.068,
                "creation_factor": 1.0654,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0672,
                "assist_rate": 0.0494,
                "provider_weight": 0.0742,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0612,
                "creation_factor": 1.0654,
                "appearance_weight": 1.0,
                "weight_rank": 8,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Youssouf Fofana": {
          "player_id": 945062,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 24,
          "height": 185,
          "market_value": 16300000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1798,
            "assist_rate": 0.1651,
            "assists": 1,
            "expected_goals": 0.2785,
            "goal_rate": 0.1523,
            "goals": 1,
            "shots_on_target": 1,
            "total_shots": 2,
            "rating": 6.8622,
            "minutes": 86,
            "total_pass": 32,
            "accurate_pass": 26,
            "duels_won": 4,
            "total_long_balls": 2,
            "accurate_long_balls": 2,
            "total_own_half_passes": 12,
            "accurate_own_half_passes": 11,
            "total_opp_half_passes": 20,
            "accurate_opp_half_passes": 15,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 45,
            "possession_lost": 9.7504,
            "dispossessed": 0.1495,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 0,
            "total_contest": 3,
            "won_contest": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.4538,
            "ball_carries": 9,
            "total_progression": 68,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "duel_xg_multiplier": 1.0997,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.3,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.488,
            "pressing_faced": "LOW",
            "matchup_zone": "CAM vs CM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Antonio Blanco",
            "opponent_faced": "Antonio Blanco",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 1,
            "goal_probability": 0.2431,
            "projected_assists": 1,
            "assist_probability": 0.1646,
            "finishing_factor": 0.9892,
            "creation_factor": 1.25,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16421093.0,
              "match_date": "2026-11-01 13:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Getafe",
              "away_team": "Sevilla",
              "home_score_current": 3.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 2.0,
                "assists": 2,
                "expected_goals": 0.0272,
                "expected_assists": 0.0554,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 31,
                "accurate_pass": 23,
                "key_pass": 2,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1897,
                "expected_assists": 0.1702,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 39,
                "accurate_pass": 32,
                "key_pass": 1,
                "tackles": 2,
                "interceptions": 2,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063.0,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 90,
                "rating": 8.7,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.3281,
                "expected_assists": 0.4535,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 29,
                "accurate_pass": 26,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416349.0,
              "match_date": "2026-09-19",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 79,
                "rating": 7.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1522,
                "expected_assists": 0.1134,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 21,
                "accurate_pass": 15,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 1,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0145,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 31,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 71,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1754,
                "expected_assists": 0.0504,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 29,
                "accurate_pass": 26,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 2,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 36,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0061,
                "expected_assists": 0.0318,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "clearances": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 857,
            "combined_rank_score": 406.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 739.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8622,
            "source_file": "data/player_rankings.csv",
            "player_name": "Youssouf Fofana",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Leandro Trossard",
                  "ranking": 852
                },
                {
                  "player_name": "André-Franck Zambo Anguissa",
                  "ranking": 853
                },
                {
                  "player_name": "Igor Thiago",
                  "ranking": 854
                },
                {
                  "player_name": "Mukhammadali Alikulov",
                  "ranking": 855
                },
                {
                  "player_name": "Jamal Musiala",
                  "ranking": 856
                }
              ],
              "lower": [
                {
                  "player_name": "Connor Chapman",
                  "ranking": 858
                },
                {
                  "player_name": "Brad Tapp",
                  "ranking": 859
                },
                {
                  "player_name": "Éderson",
                  "ranking": 860
                },
                {
                  "player_name": "Machop Chol",
                  "ranking": 861
                },
                {
                  "player_name": "Jong-hyun Ko",
                  "ranking": 862
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.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": 1.011,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 7 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.1596,
                "expected_assists": 0.1106,
                "assists": 0.1633,
                "assist_rate": 0.1633,
                "expected_goals": 0.139,
                "goals": 0.137,
                "goal_rate": 0.137,
                "shots_on_target": 0.5431,
                "total_shots": 1.5354,
                "rating": 6.8622,
                "minutes": 86.26,
                "total_pass": 31.3512,
                "accurate_pass": 25.5074,
                "duels_won": 4.2261,
                "total_long_balls": 1.9489,
                "accurate_long_balls": 1.5274,
                "total_own_half_passes": 11.5574,
                "accurate_own_half_passes": 10.4578,
                "total_opp_half_passes": 19.7938,
                "accurate_opp_half_passes": 15.0496,
                "crosses_total": 0.2047,
                "crosses_accurate": 0.2047,
                "touches": 44.4234,
                "possession_lost": 9.6443,
                "dispossessed": 0.1479,
                "duels_lost": 3.3255,
                "aerial_won": 0.8175,
                "aerial_lost": 0.6024,
                "interceptions": 1.119,
                "tackles_won": 0.8542,
                "tackles": 1.8988,
                "clearances": 0.2997,
                "total_contest": 3.4564,
                "won_contest": 1.229,
                "challenges_lost": 0.3477,
                "fouls": 0.2047,
                "fouls_drawn": 0.2809,
                "blocks": 0.1069,
                "big_chances_created": 0.174,
                "big_chances_missed": 0.2527,
                "xgot": 0.2265,
                "ball_carries": 8.8553,
                "total_progression": 67.3486,
                "progressive_carries": 2.0644,
                "shots_off_target": 0.9923
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2208,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1877,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Levante UD",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1595,
                    "rating": 8.7
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "FC Barcelona",
                    "minutes": 79.0,
                    "is_starting": true,
                    "weight": 0.1356,
                    "rating": 7.9
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1152,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.098,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 0.0833,
                    "rating": 6.2
                  }
                ],
                "feature_row": {
                  "history_matches": 7.0,
                  "is_starting_11": 1.0,
                  "totalShots": 1.5874,
                  "creative_index": 0.5739,
                  "expectedGoals": 0.1323,
                  "expectedAssists": 0.1412,
                  "keyPass": 1.223
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.1596460342407227,
                    "model_output": 1.1596,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1105
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0961
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0959
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.1047
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0711
                        }
                      ],
                      "others": -0.0167,
                      "total": 1.1596,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.116962
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.100952
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.100804
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.099492
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.062349
                        }
                      ],
                      "others_margin": -0.014242
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.11062262952327728,
                    "model_output": 0.1106,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0126
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0112
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0112
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0057
                        },
                        {
                          "name": "goalAssist",
                          "contribution": 0.0046
                        }
                      ],
                      "others": 0.0058,
                      "total": 0.1106,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.160885
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.144698
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.126064
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.058416
                        },
                        {
                          "name": "goalAssist",
                          "margin": 0.045156
                        }
                      ],
                      "others_margin": 0.053845
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.16331113874912262,
                    "model_output": 0.1633,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "creative_index",
                          "contribution": 0.0093
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.01
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0094
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0097
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0103
                        }
                      ],
                      "others": 0.0295,
                      "total": 0.1633,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "creative_index",
                          "margin": 0.104058
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.100411
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.085877
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.081723
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.080263
                        }
                      ],
                      "others_margin": 0.199043
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.13895900547504425,
                    "model_output": 0.139,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0212
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0193
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0156
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0095
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0062
                        }
                      ],
                      "others": -0.0056,
                      "total": 0.139,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": 0.207399
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.157352
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.111647
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.066408
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.043991
                        }
                      ],
                      "others_margin": -0.039595
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.1370018869638443,
                    "model_output": 0.137,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0237
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0249
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0221
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0116
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.012
                        }
                      ],
                      "others": -0.0077,
                      "total": 0.137,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.223828
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.190748
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.167884
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.091808
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.086613
                        }
                      ],
                      "others_margin": -0.054489
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5431075692176819,
                    "model_output": 0.5431,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0918
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.086
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0625
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0591
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0231
                        }
                      ],
                      "others": 0.0277,
                      "total": 0.5431,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.25372
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.19059
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.134844
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.127799
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.045924
                        }
                      ],
                      "others_margin": 0.052448
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.535448431968689,
                    "model_output": 1.5354,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.3343
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1575
                        },
                        {
                          "name": "goalAssist",
                          "contribution": 0.0857
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0744
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0608
                        }
                      ],
                      "others": -0.0134,
                      "total": 1.5354,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.334311
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.157525
                        },
                        {
                          "name": "goalAssist",
                          "margin": 0.085735
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.074381
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.060794
                        }
                      ],
                      "others_margin": -0.013471
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.862201690673828,
                    "model_output": 6.8622,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.0724
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0271
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0201
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0185
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0166
                        }
                      ],
                      "others": -0.0395,
                      "total": 6.8622,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.072378
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.027093
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.02012
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.01846
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.016606
                        }
                      ],
                      "others_margin": -0.039488
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 7,
                  "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.0110, quality 0.593)",
              "stats": {
                "key_pass": 1.1724,
                "expected_assists": 0.1118,
                "assists": 0.1651,
                "assist_rate": 0.1651,
                "expected_goals": 0.1405,
                "goals": 0.1385,
                "goal_rate": 0.1385,
                "shots_on_target": 0.5491,
                "total_shots": 1.5523,
                "rating": 6.8622,
                "minutes": 86.26,
                "total_pass": 31.6961,
                "accurate_pass": 25.788,
                "duels_won": 4.2726,
                "total_long_balls": 1.9703,
                "accurate_long_balls": 1.5442,
                "total_own_half_passes": 11.6845,
                "accurate_own_half_passes": 10.5728,
                "total_opp_half_passes": 20.0115,
                "accurate_opp_half_passes": 15.2151,
                "crosses_total": 0.207,
                "crosses_accurate": 0.207,
                "touches": 44.9121,
                "possession_lost": 9.7504,
                "dispossessed": 0.1495,
                "duels_lost": 3.3621,
                "aerial_won": 0.8265,
                "aerial_lost": 0.609,
                "interceptions": 1.1313,
                "tackles_won": 0.8636,
                "tackles": 1.9197,
                "clearances": 0.303,
                "total_contest": 3.4944,
                "won_contest": 1.2425,
                "challenges_lost": 0.3515,
                "fouls": 0.207,
                "fouls_drawn": 0.284,
                "blocks": 0.1081,
                "big_chances_created": 0.1759,
                "big_chances_missed": 0.2555,
                "xgot": 0.229,
                "ball_carries": 8.9527,
                "total_progression": 68.0894,
                "progressive_carries": 2.0871,
                "shots_off_target": 1.0032
              },
              "params": {
                "market_value_eur": 16300000,
                "quality_factor": 0.5932,
                "boost_factor": 1.011,
                "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": 1.1724,
                "expected_assists": 0.1118,
                "assists": 0.1651,
                "assist_rate": 0.1651,
                "expected_goals": 0.1405,
                "goals": 0.1385,
                "goal_rate": 0.1385,
                "shots_on_target": 0.5491,
                "total_shots": 1.5523,
                "rating": 6.8622,
                "minutes": 86.26,
                "total_pass": 31.6961,
                "accurate_pass": 25.788,
                "duels_won": 4.2726,
                "total_long_balls": 1.9703,
                "accurate_long_balls": 1.5442,
                "total_own_half_passes": 11.6845,
                "accurate_own_half_passes": 10.5728,
                "total_opp_half_passes": 20.0115,
                "accurate_opp_half_passes": 15.2151,
                "crosses_total": 0.207,
                "crosses_accurate": 0.207,
                "touches": 44.9121,
                "possession_lost": 9.7504,
                "dispossessed": 0.1495,
                "duels_lost": 3.3621,
                "aerial_won": 0.8265,
                "aerial_lost": 0.609,
                "interceptions": 1.1313,
                "tackles_won": 0.8636,
                "tackles": 1.9197,
                "clearances": 0.303,
                "total_contest": 3.4944,
                "won_contest": 1.2425,
                "challenges_lost": 0.3515,
                "fouls": 0.207,
                "fouls_drawn": 0.284,
                "blocks": 0.1081,
                "big_chances_created": 0.1759,
                "big_chances_missed": 0.2555,
                "xgot": 0.229,
                "ball_carries": 8.9527,
                "total_progression": 68.0894,
                "progressive_carries": 2.0871,
                "shots_off_target": 1.0032
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": true
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1.1724,
                "expected_assists": 0.1118,
                "assists": 0.1651,
                "assist_rate": 0.1651,
                "expected_goals": 0.1545,
                "goals": 0.1523,
                "goal_rate": 0.1523,
                "shots_on_target": 0.6038,
                "total_shots": 1.7071,
                "rating": 6.8622,
                "minutes": 86.26,
                "total_pass": 31.6961,
                "accurate_pass": 25.788,
                "duels_won": 4.2726,
                "total_long_balls": 1.9703,
                "accurate_long_balls": 1.5442,
                "total_own_half_passes": 11.6845,
                "accurate_own_half_passes": 10.5728,
                "total_opp_half_passes": 20.0115,
                "accurate_opp_half_passes": 15.2151,
                "crosses_total": 0.207,
                "crosses_accurate": 0.207,
                "touches": 44.9121,
                "possession_lost": 9.7504,
                "dispossessed": 0.1495,
                "duels_lost": 3.3621,
                "aerial_won": 1.2,
                "aerial_lost": 0.609,
                "interceptions": 1.1313,
                "tackles_won": 0.8636,
                "tackles": 1.9197,
                "clearances": 0.303,
                "total_contest": 3.4944,
                "won_contest": 1.2425,
                "challenges_lost": 0.3515,
                "fouls": 0.207,
                "fouls_drawn": 0.284,
                "blocks": 0.1081,
                "big_chances_created": 0.1759,
                "big_chances_missed": 0.281,
                "xgot": 0.2518,
                "ball_carries": 8.9527,
                "total_progression": 68.0894,
                "progressive_carries": 2.0871,
                "shots_off_target": 1.1032,
                "duel_xg_multiplier": 1.0997,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.488,
                "pressing_faced": "LOW",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonio Blanco",
                "opponent_faced": "Antonio Blanco",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Antonio Blanco",
                  "matchup_zone": "CAM vs CM",
                  "duel_win_rate": 0.488,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 1.0997,
                  "skill_edge": 0.0318,
                  "height_edge": 0.036,
                  "attacker_skill": 0.6022,
                  "defender_skill": 0.5316,
                  "attacker_role": "CAM",
                  "attacker_mv_price_index": 0.95,
                  "defender_adjusted_parts": [
                    {
                      "player": "Antonio Blanco",
                      "market_value": 9700000,
                      "role": "CM",
                      "price_index": 0.9,
                      "adjusted_quality": 0.5316
                    }
                  ],
                  "xg_override": 0.1545
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.8265,
                  "after": 1.2
                },
                {
                  "stat": "totalShots",
                  "before": 1.5523,
                  "after": 1.7071
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.0032,
                  "after": 1.1032
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.5491,
                  "after": 0.6038
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.2555,
                  "after": 0.281
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.229,
                  "after": 0.2518
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1405,
                  "after": 0.1545
                },
                {
                  "stat": "goals",
                  "before": 0.1385,
                  "after": 0.1523
                }
              ]
            },
            {
              "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.1724,
                "expected_assists": 0.1118,
                "assist_rate": 0.1651,
                "assists": 0,
                "expected_goals": 0.1545,
                "goal_rate": 0.1523,
                "goals": 0,
                "shots_on_target": 0.6038,
                "total_shots": 1.7071,
                "rating": 6.8622,
                "minutes": 86.26,
                "total_pass": 31.6961,
                "accurate_pass": 25.788,
                "duels_won": 4.2726,
                "total_long_balls": 1.9703,
                "accurate_long_balls": 1.5442,
                "total_own_half_passes": 11.6845,
                "accurate_own_half_passes": 10.5728,
                "total_opp_half_passes": 20.0115,
                "accurate_opp_half_passes": 15.2151,
                "crosses_total": 0.207,
                "crosses_accurate": 0.207,
                "touches": 44.9121,
                "possession_lost": 9.7504,
                "dispossessed": 0.1495,
                "duels_lost": 3.3621,
                "aerial_won": 1.2,
                "aerial_lost": 0.609,
                "interceptions": 1.1313,
                "tackles_won": 0.8636,
                "tackles": 1.9197,
                "clearances": 0.303,
                "total_contest": 3.4944,
                "won_contest": 1.2425,
                "challenges_lost": 0.3515,
                "fouls": 0.207,
                "fouls_drawn": 0.284,
                "blocks": 0.1081,
                "big_chances_created": 0.1759,
                "big_chances_missed": 0.281,
                "xgot": 0.2518,
                "ball_carries": 8.9527,
                "total_progression": 68.0894,
                "progressive_carries": 2.0871,
                "shots_off_target": 1.1032,
                "duel_xg_multiplier": 1.0997,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.488,
                "pressing_faced": "LOW",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonio Blanco",
                "opponent_faced": "Antonio Blanco",
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "key_pass": 1.1724,
                "expected_assists": 0.1798,
                "assist_rate": 0.1651,
                "assists": 0,
                "expected_goals": 0.2785,
                "goal_rate": 0.1523,
                "goals": 0,
                "shots_on_target": 0.6038,
                "total_shots": 1.7071,
                "rating": 6.8622,
                "minutes": 86.26,
                "total_pass": 31.6961,
                "accurate_pass": 25.788,
                "duels_won": 4.2726,
                "total_long_balls": 1.9703,
                "accurate_long_balls": 1.5442,
                "total_own_half_passes": 11.6845,
                "accurate_own_half_passes": 10.5728,
                "total_opp_half_passes": 20.0115,
                "accurate_opp_half_passes": 15.2151,
                "crosses_total": 0.207,
                "crosses_accurate": 0.207,
                "touches": 44.9121,
                "possession_lost": 9.7504,
                "dispossessed": 0.1495,
                "duels_lost": 3.3621,
                "aerial_won": 1.2,
                "aerial_lost": 0.609,
                "interceptions": 1.1313,
                "tackles_won": 0.8636,
                "tackles": 1.9197,
                "clearances": 0.303,
                "total_contest": 3.4944,
                "won_contest": 1.2425,
                "challenges_lost": 0.3515,
                "fouls": 0.207,
                "fouls_drawn": 0.284,
                "blocks": 0.1081,
                "big_chances_created": 0.1759,
                "big_chances_missed": 0.281,
                "xgot": 0.4538,
                "ball_carries": 8.9527,
                "total_progression": 68.0894,
                "progressive_carries": 2.0871,
                "shots_off_target": 1.1032,
                "duel_xg_multiplier": 1.0997,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.488,
                "pressing_faced": "LOW",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonio Blanco",
                "opponent_faced": "Antonio Blanco",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9892,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1545,
                  "after": 0.2785
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1118,
                  "after": 0.1798
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 5 by projected rating, fifa_overall 80.0)",
              "stats": {
                "key_pass": 1.1724,
                "expected_assists": 0.1798,
                "assist_rate": 0.1651,
                "assists": 0,
                "expected_goals": 0.2785,
                "goal_rate": 0.1523,
                "goals": 0,
                "shots_on_target": 0.6038,
                "total_shots": 1.7071,
                "rating": 6.8622,
                "minutes": 86.26,
                "total_pass": 31.6961,
                "accurate_pass": 25.788,
                "duels_won": 4.2726,
                "total_long_balls": 1.9703,
                "accurate_long_balls": 1.5442,
                "total_own_half_passes": 11.6845,
                "accurate_own_half_passes": 10.5728,
                "total_opp_half_passes": 20.0115,
                "accurate_opp_half_passes": 15.2151,
                "crosses_total": 0.207,
                "crosses_accurate": 0.207,
                "touches": 44.9121,
                "possession_lost": 9.7504,
                "dispossessed": 0.1495,
                "duels_lost": 3.3621,
                "aerial_won": 1.2,
                "aerial_lost": 0.609,
                "interceptions": 1.1313,
                "tackles_won": 0.8636,
                "tackles": 1.9197,
                "clearances": 0.303,
                "total_contest": 3.4944,
                "won_contest": 1.2425,
                "challenges_lost": 0.3515,
                "fouls": 0.207,
                "fouls_drawn": 0.284,
                "blocks": 0.1081,
                "big_chances_created": 0.1759,
                "big_chances_missed": 0.281,
                "xgot": 0.4538,
                "ball_carries": 8.9527,
                "total_progression": 68.0894,
                "progressive_carries": 2.0871,
                "shots_off_target": 1.1032,
                "duel_xg_multiplier": 1.0997,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.488,
                "pressing_faced": "LOW",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonio Blanco",
                "opponent_faced": "Antonio Blanco",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9892,
                "creation_factor": 1.25,
                "fifa_overall": 80.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": 857,
                "fifa_rank": 739.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": {
                "key_pass": 1.1724,
                "expected_assists": 0.1798,
                "assist_rate": 0.1651,
                "assists": 0,
                "expected_goals": 0.2785,
                "goal_rate": 0.1523,
                "goals": 1,
                "shots_on_target": 0.6038,
                "total_shots": 1.7071,
                "rating": 6.8622,
                "minutes": 86.26,
                "total_pass": 31.6961,
                "accurate_pass": 25.788,
                "duels_won": 4.2726,
                "total_long_balls": 1.9703,
                "accurate_long_balls": 1.5442,
                "total_own_half_passes": 11.6845,
                "accurate_own_half_passes": 10.5728,
                "total_opp_half_passes": 20.0115,
                "accurate_opp_half_passes": 15.2151,
                "crosses_total": 0.207,
                "crosses_accurate": 0.207,
                "touches": 44.9121,
                "possession_lost": 9.7504,
                "dispossessed": 0.1495,
                "duels_lost": 3.3621,
                "aerial_won": 1.2,
                "aerial_lost": 0.609,
                "interceptions": 1.1313,
                "tackles_won": 0.8636,
                "tackles": 1.9197,
                "clearances": 0.303,
                "total_contest": 3.4944,
                "won_contest": 1.2425,
                "challenges_lost": 0.3515,
                "fouls": 0.207,
                "fouls_drawn": 0.284,
                "blocks": 0.1081,
                "big_chances_created": 0.1759,
                "big_chances_missed": 0.281,
                "xgot": 0.4538,
                "ball_carries": 8.9527,
                "total_progression": 68.0894,
                "progressive_carries": 2.0871,
                "shots_off_target": 1.1032,
                "duel_xg_multiplier": 1.0997,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.488,
                "pressing_faced": "LOW",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonio Blanco",
                "opponent_faced": "Antonio Blanco",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 1,
                "goal_probability": 0.2431,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9892,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 1,
                "goal_probability": 0.2431,
                "goal_rate": 0.1523,
                "scorer_weight": 0.2755,
                "squad_weight_total": 1.6415,
                "weight_share": 0.1678,
                "finishing_factor": 0.9892,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 1.1724,
                "expected_assists": 0.1798,
                "assist_rate": 0.1651,
                "assists": 1,
                "expected_goals": 0.2785,
                "goal_rate": 0.1523,
                "goals": 1,
                "shots_on_target": 0.6038,
                "total_shots": 1.7071,
                "rating": 6.8622,
                "minutes": 86.26,
                "total_pass": 31.6961,
                "accurate_pass": 25.788,
                "duels_won": 4.2726,
                "total_long_balls": 1.9703,
                "accurate_long_balls": 1.5442,
                "total_own_half_passes": 11.6845,
                "accurate_own_half_passes": 10.5728,
                "total_opp_half_passes": 20.0115,
                "accurate_opp_half_passes": 15.2151,
                "crosses_total": 0.207,
                "crosses_accurate": 0.207,
                "touches": 44.9121,
                "possession_lost": 9.7504,
                "dispossessed": 0.1495,
                "duels_lost": 3.3621,
                "aerial_won": 1.2,
                "aerial_lost": 0.609,
                "interceptions": 1.1313,
                "tackles_won": 0.8636,
                "tackles": 1.9197,
                "clearances": 0.303,
                "total_contest": 3.4944,
                "won_contest": 1.2425,
                "challenges_lost": 0.3515,
                "fouls": 0.207,
                "fouls_drawn": 0.284,
                "blocks": 0.1081,
                "big_chances_created": 0.1759,
                "big_chances_missed": 0.281,
                "xgot": 0.4538,
                "ball_carries": 8.9527,
                "total_progression": 68.0894,
                "progressive_carries": 2.0871,
                "shots_off_target": 1.1032,
                "duel_xg_multiplier": 1.0997,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.488,
                "pressing_faced": "LOW",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonio Blanco",
                "opponent_faced": "Antonio Blanco",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 1,
                "goal_probability": 0.2431,
                "projected_assists": 1,
                "assist_probability": 0.1646,
                "finishing_factor": 0.9892,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 1,
                "assist_probability": 0.1646,
                "assist_rate": 0.1651,
                "provider_weight": 0.2247,
                "squad_weight_total": 1.2113,
                "weight_share": 0.1855,
                "creation_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Peque Fernández": {
          "player_id": 997033,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 10,
          "height": 168,
          "market_value": 3300000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0952,
            "assist_rate": 0.0636,
            "assists": 0,
            "expected_goals": 0.1923,
            "goal_rate": 0.1038,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.7351,
            "minutes": 63,
            "total_pass": 19,
            "accurate_pass": 16,
            "duels_won": 5,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 11,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 31,
            "possession_lost": 6.6772,
            "dispossessed": 1.404,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 3,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1746,
            "ball_carries": 10,
            "total_progression": 42,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9143,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.6,
            "crosses_attempted": 1.9,
            "duel_win_rate": 0.242,
            "pressing_faced": "LOW",
            "matchup_zone": "LW vs RWB + CB",
            "numerical_situation": "1v2",
            "opponent_defenders": "Jonny Otto, Facundo Garcés",
            "opponent_faced": "Jonny Otto, Facundo Garcés",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.1749,
            "projected_assists": 0,
            "assist_probability": 0.0908,
            "finishing_factor": 0.9815,
            "creation_factor": 1.0403,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 56,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0216,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 19,
                "key_pass": 1,
                "tackles": 1,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 68,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2577,
                "expected_assists": 0.0667,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 22,
                "accurate_pass": 19,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0462,
                "expected_assists": 0.007,
                "total_shots": 1,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 45,
                "rating": 6.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.9067,
                "expected_assists": 0.0338,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 11,
                "accurate_pass": 10,
                "key_pass": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083715.0,
              "match_date": "2026-05-23",
              "home_team": "Celta Vigo",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 64,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0296,
                "expected_assists": 0.0194,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 20,
                "accurate_pass": 19,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083526.0,
              "match_date": "2026-05-04",
              "home_team": "Sevilla",
              "away_team": "Real Sociedad",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083231.0,
              "match_date": "2026-04-26",
              "home_team": "Osasuna",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 14,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083265.0,
              "match_date": "2026-04-23",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 19,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.005,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083161.0,
              "match_date": "2026-04-11",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 20,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083582.0,
              "match_date": "2026-02-22",
              "home_team": "Getafe",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Getafe",
              "stats": {
                "minutes": 9,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 1,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1377,
            "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": 13,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7351,
            "source_file": "data/player_rankings.csv",
            "player_name": "Peque Fernández",
            "ranking_neighbors": {
              "upper": [
                {
                  "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
                },
                {
                  "player_name": "Rodrigo Mendoza",
                  "ranking": 1376
                }
              ],
              "lower": [
                {
                  "player_name": "Javi Morcillo",
                  "ranking": 1378
                },
                {
                  "player_name": "Luis Pacheco",
                  "ranking": 1379
                },
                {
                  "player_name": "Fredy Noguera",
                  "ranking": 1380
                },
                {
                  "player_name": "Guillermo Varela",
                  "ranking": 1381
                },
                {
                  "player_name": "Christian Alemán",
                  "ranking": 1382
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "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.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9973,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 30 historical appearances across 8 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.8795,
                "expected_assists": 0.0593,
                "assists": 0.0638,
                "assist_rate": 0.0638,
                "expected_goals": 0.1171,
                "goals": 0.1138,
                "goal_rate": 0.1138,
                "shots_on_target": 0.4247,
                "total_shots": 1.3243,
                "rating": 6.7351,
                "minutes": 63.14,
                "total_pass": 19.1501,
                "accurate_pass": 16.3237,
                "duels_won": 5.2374,
                "total_long_balls": 1.0027,
                "accurate_long_balls": 0.5893,
                "total_own_half_passes": 5.9158,
                "accurate_own_half_passes": 5.2551,
                "total_opp_half_passes": 13.2342,
                "accurate_opp_half_passes": 11.0686,
                "crosses_total": 0.9322,
                "crosses_accurate": 0.0876,
                "touches": 31.2435,
                "possession_lost": 6.6953,
                "dispossessed": 1.4078,
                "duels_lost": 5.0058,
                "aerial_won": 0.4443,
                "aerial_lost": 0.9933,
                "interceptions": 0.2017,
                "tackles_won": 0.3732,
                "tackles": 0.9859,
                "clearances": 0.2093,
                "total_contest": 1.9043,
                "won_contest": 1.0195,
                "challenges_lost": 0.5951,
                "fouls": 1.1952,
                "fouls_drawn": 2.7876,
                "blocks": 0.1009,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1063,
                "ball_carries": 9.7754,
                "total_progression": 42.2471,
                "progressive_carries": 1.7539,
                "shots_off_target": 0.8996
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 56.0,
                    "is_starting": true,
                    "weight": 0.1512,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.1285,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1092,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0928,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Celta Vigo",
                    "minutes": 64.0,
                    "is_starting": true,
                    "weight": 0.0789,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-04",
                    "opponent": "Real Sociedad",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0671,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-04-26",
                    "opponent": "Osasuna",
                    "minutes": 14.0,
                    "is_starting": false,
                    "weight": 0.057,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-04-23",
                    "opponent": "Levante UD",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.0485,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-04-11",
                    "opponent": "Atlético Madrid",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.0412,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-02-22",
                    "opponent": "Getafe",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.035,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.88,
                  "creative_index": 0.2674,
                  "expectedGoals": 0.1337,
                  "expectedAssists": 0.0238,
                  "keyPass": 0.6327
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.879513144493103,
                    "model_output": 0.8795,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1186
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.1011
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0667
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0469
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0389
                        }
                      ],
                      "others": 0.0465,
                      "total": 0.8795,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.125068
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.105555
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.076329
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.057418
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.04784
                        }
                      ],
                      "others_margin": 0.054306
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.059338610619306564,
                    "model_output": 0.0593,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0185
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0095
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0068
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0061
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0039
                        }
                      ],
                      "others": -0.0074,
                      "total": 0.0593,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": -0.246196
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.133848
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.094279
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.092573
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.059675
                        }
                      ],
                      "others_margin": -0.116047
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06381125003099442,
                    "model_output": 0.0638,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0078
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0071
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0065
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0052
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0042
                        }
                      ],
                      "others": -0.0119,
                      "total": 0.0638,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.095979
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.095768
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.088085
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.070629
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.056947
                        }
                      ],
                      "others_margin": -0.171011
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.1170659214258194,
                    "model_output": 0.1171,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0167
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0133
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0083
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0072
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0037
                        }
                      ],
                      "others": 0.0145,
                      "total": 0.1171,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": 0.167508
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.115292
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.070904
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.065531
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.035282
                        }
                      ],
                      "others_margin": 0.131862
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.1137673482298851,
                    "model_output": 0.1138,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": 0.017
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0171
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0152
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.01
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0107
                        }
                      ],
                      "others": -0.0204,
                      "total": 0.1138,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": 0.164942
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.142309
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.125931
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.084128
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "margin": 0.082994
                        }
                      ],
                      "others_margin": -0.163657
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.42469608783721924,
                    "model_output": 0.4247,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0479
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0371
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0371
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0234
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0129
                        }
                      ],
                      "others": 0.021,
                      "total": 0.4247,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.140224
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.096536
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.088043
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.054613
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.031391
                        }
                      ],
                      "others_margin": 0.050906
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.3242608308792114,
                    "model_output": 1.3243,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1831
                        },
                        {
                          "name": "wonTackle",
                          "contribution": 0.0481
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0426
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0362
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0337
                        }
                      ],
                      "others": 0.0631,
                      "total": 1.3243,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.183144
                        },
                        {
                          "name": "wonTackle",
                          "margin": 0.048145
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.042557
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.036218
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.033706
                        }
                      ],
                      "others_margin": 0.062969
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.735116004943848,
                    "model_output": 6.7351,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.048
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0402
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0256
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0134
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0131
                        }
                      ],
                      "others": -0.0332,
                      "total": 6.7351,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.04797
                        },
                        {
                          "name": "rating",
                          "margin": -0.040241
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.025606
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.013447
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.013071
                        }
                      ],
                      "others_margin": -0.033165
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 30,
                  "role_matches": 15,
                  "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.9973, quality 0.441)",
              "stats": {
                "key_pass": 0.8771,
                "expected_assists": 0.0592,
                "assists": 0.0636,
                "assist_rate": 0.0636,
                "expected_goals": 0.1167,
                "goals": 0.1135,
                "goal_rate": 0.1135,
                "shots_on_target": 0.4235,
                "total_shots": 1.3207,
                "rating": 6.7351,
                "minutes": 63.14,
                "total_pass": 19.0984,
                "accurate_pass": 16.2796,
                "duels_won": 5.2233,
                "total_long_balls": 1.0,
                "accurate_long_balls": 0.5877,
                "total_own_half_passes": 5.8998,
                "accurate_own_half_passes": 5.2409,
                "total_opp_half_passes": 13.1985,
                "accurate_opp_half_passes": 11.0387,
                "crosses_total": 0.9297,
                "crosses_accurate": 0.0874,
                "touches": 31.1591,
                "possession_lost": 6.6772,
                "dispossessed": 1.404,
                "duels_lost": 4.9923,
                "aerial_won": 0.4431,
                "aerial_lost": 0.9906,
                "interceptions": 0.2012,
                "tackles_won": 0.3722,
                "tackles": 0.9832,
                "clearances": 0.2087,
                "total_contest": 1.8992,
                "won_contest": 1.0167,
                "challenges_lost": 0.5935,
                "fouls": 1.192,
                "fouls_drawn": 2.7801,
                "blocks": 0.1006,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.106,
                "ball_carries": 9.749,
                "total_progression": 42.133,
                "progressive_carries": 1.7492,
                "shots_off_target": 0.8972
              },
              "params": {
                "market_value_eur": 3300000,
                "quality_factor": 0.4412,
                "boost_factor": 0.9973,
                "reference_quality": 0.505,
                "history_matches": 30,
                "history_shrink": 0.1429,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.8771,
                "expected_assists": 0.0592,
                "assists": 0.0636,
                "assist_rate": 0.0636,
                "expected_goals": 0.1167,
                "goals": 0.1135,
                "goal_rate": 0.1135,
                "shots_on_target": 0.4235,
                "total_shots": 1.3207,
                "rating": 6.7351,
                "minutes": 63.14,
                "total_pass": 19.0984,
                "accurate_pass": 16.2796,
                "duels_won": 5.2233,
                "total_long_balls": 1.0,
                "accurate_long_balls": 0.5877,
                "total_own_half_passes": 5.8998,
                "accurate_own_half_passes": 5.2409,
                "total_opp_half_passes": 13.1985,
                "accurate_opp_half_passes": 11.0387,
                "crosses_total": 0.9297,
                "crosses_accurate": 0.0874,
                "touches": 31.1591,
                "possession_lost": 6.6772,
                "dispossessed": 1.404,
                "duels_lost": 4.9923,
                "aerial_won": 0.4431,
                "aerial_lost": 0.9906,
                "interceptions": 0.2012,
                "tackles_won": 0.3722,
                "tackles": 0.9832,
                "clearances": 0.2087,
                "total_contest": 1.8992,
                "won_contest": 1.0167,
                "challenges_lost": 0.5935,
                "fouls": 1.192,
                "fouls_drawn": 2.7801,
                "blocks": 0.1006,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.106,
                "ball_carries": 9.749,
                "total_progression": 42.133,
                "progressive_carries": 1.7492,
                "shots_off_target": 0.8972
              },
              "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.8771,
                "expected_assists": 0.0592,
                "assists": 0.0636,
                "assist_rate": 0.0636,
                "expected_goals": 0.1067,
                "goals": 0.1038,
                "goal_rate": 0.1038,
                "shots_on_target": 0.3872,
                "total_shots": 1.2075,
                "rating": 6.7351,
                "minutes": 63.14,
                "total_pass": 19.0984,
                "accurate_pass": 16.2796,
                "duels_won": 5.2233,
                "total_long_balls": 1.0,
                "accurate_long_balls": 0.5877,
                "total_own_half_passes": 5.8998,
                "accurate_own_half_passes": 5.2409,
                "total_opp_half_passes": 13.1985,
                "accurate_opp_half_passes": 11.0387,
                "crosses_total": 0.9297,
                "crosses_accurate": 0.0874,
                "touches": 31.1591,
                "possession_lost": 6.6772,
                "dispossessed": 1.404,
                "duels_lost": 4.9923,
                "aerial_won": 0.8,
                "aerial_lost": 0.9906,
                "interceptions": 0.2012,
                "tackles_won": 0.3722,
                "tackles": 0.9832,
                "clearances": 0.2087,
                "total_contest": 1.8992,
                "won_contest": 1.0167,
                "challenges_lost": 0.5935,
                "fouls": 1.192,
                "fouls_drawn": 2.7801,
                "blocks": 0.1006,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0969,
                "ball_carries": 9.749,
                "total_progression": 42.133,
                "progressive_carries": 1.7492,
                "shots_off_target": 0.8203,
                "duel_xg_multiplier": 0.9143,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.242,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jonny Otto, Facundo Garcés",
                "opponent_faced": "Jonny Otto, Facundo Garcés",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Jonny Otto, Facundo Garcés",
                  "matchup_zone": "LW vs RWB + CB",
                  "duel_win_rate": 0.242,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.9143,
                  "skill_edge": 0.0017,
                  "height_edge": -0.06,
                  "attacker_skill": 0.4412,
                  "defender_skill": 0.4374,
                  "attacker_role": "LW",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Jonny Otto",
                      "market_value": 2100000,
                      "role": "RWB",
                      "price_index": 0.7,
                      "adjusted_quality": 0.4374
                    },
                    {
                      "player": "Facundo Garcés",
                      "market_value": 1300000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4374
                    }
                  ],
                  "xg_override": 0.1067
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.4431,
                  "after": 0.8
                },
                {
                  "stat": "totalShots",
                  "before": 1.3207,
                  "after": 1.2075
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.8972,
                  "after": 0.8203
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.4235,
                  "after": 0.3872
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1167,
                  "after": 0.1067
                },
                {
                  "stat": "goals",
                  "before": 0.1135,
                  "after": 0.1038
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.106,
                  "after": 0.0969
                }
              ]
            },
            {
              "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.8771,
                "expected_assists": 0.0592,
                "assist_rate": 0.0636,
                "assists": 0,
                "expected_goals": 0.1067,
                "goal_rate": 0.1038,
                "goals": 0,
                "shots_on_target": 0.3872,
                "total_shots": 1.2075,
                "rating": 6.7351,
                "minutes": 63.14,
                "total_pass": 19.0984,
                "accurate_pass": 16.2796,
                "duels_won": 5.2233,
                "total_long_balls": 1.0,
                "accurate_long_balls": 0.5877,
                "total_own_half_passes": 5.8998,
                "accurate_own_half_passes": 5.2409,
                "total_opp_half_passes": 13.1985,
                "accurate_opp_half_passes": 11.0387,
                "crosses_total": 0.9297,
                "crosses_accurate": 0.0874,
                "touches": 31.1591,
                "possession_lost": 6.6772,
                "dispossessed": 1.404,
                "duels_lost": 4.9923,
                "aerial_won": 0.8,
                "aerial_lost": 0.9906,
                "interceptions": 0.2012,
                "tackles_won": 0.3722,
                "tackles": 0.9832,
                "clearances": 0.2087,
                "total_contest": 1.8992,
                "won_contest": 1.0167,
                "challenges_lost": 0.5935,
                "fouls": 1.192,
                "fouls_drawn": 2.7801,
                "blocks": 0.1006,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0969,
                "ball_carries": 9.749,
                "total_progression": 42.133,
                "progressive_carries": 1.7492,
                "shots_off_target": 0.8203,
                "duel_xg_multiplier": 0.9143,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.242,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jonny Otto, Facundo Garcés",
                "opponent_faced": "Jonny Otto, Facundo Garcés",
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "key_pass": 0.8771,
                "expected_assists": 0.0952,
                "assist_rate": 0.0636,
                "assists": 0,
                "expected_goals": 0.1923,
                "goal_rate": 0.1038,
                "goals": 0,
                "shots_on_target": 0.3872,
                "total_shots": 1.2075,
                "rating": 6.7351,
                "minutes": 63.14,
                "total_pass": 19.0984,
                "accurate_pass": 16.2796,
                "duels_won": 5.2233,
                "total_long_balls": 1.0,
                "accurate_long_balls": 0.5877,
                "total_own_half_passes": 5.8998,
                "accurate_own_half_passes": 5.2409,
                "total_opp_half_passes": 13.1985,
                "accurate_opp_half_passes": 11.0387,
                "crosses_total": 0.9297,
                "crosses_accurate": 0.0874,
                "touches": 31.1591,
                "possession_lost": 6.6772,
                "dispossessed": 1.404,
                "duels_lost": 4.9923,
                "aerial_won": 0.8,
                "aerial_lost": 0.9906,
                "interceptions": 0.2012,
                "tackles_won": 0.3722,
                "tackles": 0.9832,
                "clearances": 0.2087,
                "total_contest": 1.8992,
                "won_contest": 1.0167,
                "challenges_lost": 0.5935,
                "fouls": 1.192,
                "fouls_drawn": 2.7801,
                "blocks": 0.1006,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1746,
                "ball_carries": 9.749,
                "total_progression": 42.133,
                "progressive_carries": 1.7492,
                "shots_off_target": 0.8203,
                "duel_xg_multiplier": 0.9143,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.242,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jonny Otto, Facundo Garcés",
                "opponent_faced": "Jonny Otto, Facundo Garcés",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9815,
                "creation_factor": 1.0403
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1067,
                  "after": 0.1923
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0592,
                  "after": 0.0952
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 13 by projected rating, fifa_overall 79.0)",
              "stats": {
                "key_pass": 0.8771,
                "expected_assists": 0.0952,
                "assist_rate": 0.0636,
                "assists": 0,
                "expected_goals": 0.1923,
                "goal_rate": 0.1038,
                "goals": 0,
                "shots_on_target": 0.3872,
                "total_shots": 1.2075,
                "rating": 6.7351,
                "minutes": 63.14,
                "total_pass": 19.0984,
                "accurate_pass": 16.2796,
                "duels_won": 5.2233,
                "total_long_balls": 1.0,
                "accurate_long_balls": 0.5877,
                "total_own_half_passes": 5.8998,
                "accurate_own_half_passes": 5.2409,
                "total_opp_half_passes": 13.1985,
                "accurate_opp_half_passes": 11.0387,
                "crosses_total": 0.9297,
                "crosses_accurate": 0.0874,
                "touches": 31.1591,
                "possession_lost": 6.6772,
                "dispossessed": 1.404,
                "duels_lost": 4.9923,
                "aerial_won": 0.8,
                "aerial_lost": 0.9906,
                "interceptions": 0.2012,
                "tackles_won": 0.3722,
                "tackles": 0.9832,
                "clearances": 0.2087,
                "total_contest": 1.8992,
                "won_contest": 1.0167,
                "challenges_lost": 0.5935,
                "fouls": 1.192,
                "fouls_drawn": 2.7801,
                "blocks": 0.1006,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1746,
                "ball_carries": 9.749,
                "total_progression": 42.133,
                "progressive_carries": 1.7492,
                "shots_off_target": 0.8203,
                "duel_xg_multiplier": 0.9143,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.242,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jonny Otto, Facundo Garcés",
                "opponent_faced": "Jonny Otto, Facundo Garcés",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9815,
                "creation_factor": 1.0403,
                "fifa_overall": 79.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": 1377,
                "fifa_rank": 848.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 79.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.8771,
                "expected_assists": 0.0952,
                "assist_rate": 0.0636,
                "assists": 0,
                "expected_goals": 0.1923,
                "goal_rate": 0.1038,
                "goals": 0,
                "shots_on_target": 0.3872,
                "total_shots": 1.2075,
                "rating": 6.7351,
                "minutes": 63.14,
                "total_pass": 19.0984,
                "accurate_pass": 16.2796,
                "duels_won": 5.2233,
                "total_long_balls": 1.0,
                "accurate_long_balls": 0.5877,
                "total_own_half_passes": 5.8998,
                "accurate_own_half_passes": 5.2409,
                "total_opp_half_passes": 13.1985,
                "accurate_opp_half_passes": 11.0387,
                "crosses_total": 0.9297,
                "crosses_accurate": 0.0874,
                "touches": 31.1591,
                "possession_lost": 6.6772,
                "dispossessed": 1.404,
                "duels_lost": 4.9923,
                "aerial_won": 0.8,
                "aerial_lost": 0.9906,
                "interceptions": 0.2012,
                "tackles_won": 0.3722,
                "tackles": 0.9832,
                "clearances": 0.2087,
                "total_contest": 1.8992,
                "won_contest": 1.0167,
                "challenges_lost": 0.5935,
                "fouls": 1.192,
                "fouls_drawn": 2.7801,
                "blocks": 0.1006,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1746,
                "ball_carries": 9.749,
                "total_progression": 42.133,
                "progressive_carries": 1.7492,
                "shots_off_target": 0.8203,
                "duel_xg_multiplier": 0.9143,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.242,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jonny Otto, Facundo Garcés",
                "opponent_faced": "Jonny Otto, Facundo Garcés",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1749,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9815,
                "creation_factor": 1.0403,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.1749,
                "goal_rate": 0.1038,
                "scorer_weight": 0.1887,
                "squad_weight_total": 1.6415,
                "weight_share": 0.115,
                "finishing_factor": 0.9815,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.8771,
                "expected_assists": 0.0952,
                "assist_rate": 0.0636,
                "assists": 0,
                "expected_goals": 0.1923,
                "goal_rate": 0.1038,
                "goals": 0,
                "shots_on_target": 0.3872,
                "total_shots": 1.2075,
                "rating": 6.7351,
                "minutes": 63.14,
                "total_pass": 19.0984,
                "accurate_pass": 16.2796,
                "duels_won": 5.2233,
                "total_long_balls": 1.0,
                "accurate_long_balls": 0.5877,
                "total_own_half_passes": 5.8998,
                "accurate_own_half_passes": 5.2409,
                "total_opp_half_passes": 13.1985,
                "accurate_opp_half_passes": 11.0387,
                "crosses_total": 0.9297,
                "crosses_accurate": 0.0874,
                "touches": 31.1591,
                "possession_lost": 6.6772,
                "dispossessed": 1.404,
                "duels_lost": 4.9923,
                "aerial_won": 0.8,
                "aerial_lost": 0.9906,
                "interceptions": 0.2012,
                "tackles_won": 0.3722,
                "tackles": 0.9832,
                "clearances": 0.2087,
                "total_contest": 1.8992,
                "won_contest": 1.0167,
                "challenges_lost": 0.5935,
                "fouls": 1.192,
                "fouls_drawn": 2.7801,
                "blocks": 0.1006,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1746,
                "ball_carries": 9.749,
                "total_progression": 42.133,
                "progressive_carries": 1.7492,
                "shots_off_target": 0.8203,
                "duel_xg_multiplier": 0.9143,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.242,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jonny Otto, Facundo Garcés",
                "opponent_faced": "Jonny Otto, Facundo Garcés",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1749,
                "projected_assists": 0,
                "assist_probability": 0.0908,
                "finishing_factor": 0.9815,
                "creation_factor": 1.0403,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0908,
                "assist_rate": 0.0636,
                "provider_weight": 0.099,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0818,
                "creation_factor": 1.0403,
                "appearance_weight": 1.0,
                "weight_rank": 6,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Jon Guridi": {
          "player_id": 788141,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 18,
          "height": 179,
          "market_value": 1700000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0643,
            "assist_rate": 0.0569,
            "assists": 0,
            "expected_goals": 0.1611,
            "goal_rate": 0.0767,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.7172,
            "minutes": 72,
            "total_pass": 22,
            "accurate_pass": 18,
            "duels_won": 4,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 8,
            "accurate_own_half_passes": 8,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 11,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 33,
            "possession_lost": 7.1294,
            "dispossessed": 0.7288,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1494,
            "ball_carries": 8,
            "total_progression": 18,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9495,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.7,
            "crosses_attempted": 1.9,
            "duel_win_rate": 0.266,
            "pressing_faced": "LOW",
            "matchup_zone": "RW vs LWB + CB",
            "numerical_situation": "1v2",
            "opponent_defenders": "Nahuel Tenaglia, Facundo Garcés",
            "opponent_faced": "Nahuel Tenaglia, Facundo Garcés",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.1488,
            "projected_assists": 0,
            "assist_probability": 0.0623,
            "finishing_factor": 0.9089,
            "creation_factor": 1.1878,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421063.0,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 16,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "clearances": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416349.0,
              "match_date": "2026-09-19",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 12,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 2,
                "key_pass": 1,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 81,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0533,
                "expected_assists": 0.0113,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 29,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 3,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 15,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0057,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 71,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0352,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 19,
                "key_pass": 1,
                "interceptions": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 55,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0269,
                "expected_assists": 0.0096,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 18,
                "accurate_pass": 15,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 13,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 82,
                "rating": 6.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.8527,
                "expected_assists": 0.0075,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 20,
                "accurate_pass": 19,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083706.0,
              "match_date": "2026-05-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 84,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0968,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 18,
                "key_pass": 3,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083692.0,
              "match_date": "2026-05-17",
              "home_team": "Real Oviedo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 87,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0233,
                "expected_assists": 0.0045,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 25,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1779,
            "combined_rank_score": 964.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 1231.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7172,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jon Guridi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Domantas Antanavičius",
                  "ranking": 1774
                },
                {
                  "player_name": "Emil Tsenov",
                  "ranking": 1775
                },
                {
                  "player_name": "Maksim Myakish",
                  "ranking": 1776
                },
                {
                  "player_name": "Jun'ai Byfield",
                  "ranking": 1777
                },
                {
                  "player_name": "Nemanja Gudelj",
                  "ranking": 1778
                }
              ],
              "lower": [
                {
                  "player_name": "Pedro Felipe",
                  "ranking": 1780
                },
                {
                  "player_name": "Nico Guillén",
                  "ranking": 1781
                },
                {
                  "player_name": "Gabriel Pires",
                  "ranking": 1782
                },
                {
                  "player_name": "Yuri",
                  "ranking": 1783
                },
                {
                  "player_name": "William Furtado",
                  "ranking": 1784
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.77,
          "history_matches": 36,
          "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": 36,
            "data_confidence": 0.77,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9975,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 180.0,
              "goals_per90": 0.5,
              "assists_per90": 0.0,
              "shots_per90": 1.5,
              "shots_on_target_pct": 100.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (M_service) evaluated 36 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.13, gls/90: 0.5, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.5956,
                "expected_assists": 0.0401,
                "assists": 0.0576,
                "assist_rate": 0.0576,
                "expected_goals": 0.0945,
                "goals": 0.0776,
                "goal_rate": 0.0776,
                "shots_on_target": 0.2691,
                "total_shots": 0.8509,
                "rating": 6.7172,
                "minutes": 71.63,
                "total_pass": 21.7675,
                "accurate_pass": 18.2465,
                "duels_won": 3.5447,
                "total_long_balls": 0.9374,
                "accurate_long_balls": 0.2863,
                "total_own_half_passes": 8.3408,
                "accurate_own_half_passes": 7.5387,
                "total_opp_half_passes": 13.4267,
                "accurate_opp_half_passes": 10.7078,
                "crosses_total": 0.8136,
                "crosses_accurate": 0.05,
                "touches": 32.6096,
                "possession_lost": 7.1473,
                "dispossessed": 0.7306,
                "duels_lost": 4.5713,
                "aerial_won": 1.1811,
                "aerial_lost": 1.2649,
                "interceptions": 0.4469,
                "tackles_won": 0.9074,
                "tackles": 1.3977,
                "clearances": 0.7712,
                "total_contest": 1.2556,
                "won_contest": 0.534,
                "challenges_lost": 0.8486,
                "fouls": 1.1689,
                "fouls_drawn": 0.4319,
                "blocks": 0.0,
                "big_chances_created": 0.134,
                "big_chances_missed": 0.0174,
                "xgot": 0.0875,
                "ball_carries": 7.5355,
                "total_progression": 18.1372,
                "progressive_carries": 0.7246,
                "shots_off_target": 0.5818
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Levante UD",
                    "minutes": 16.0,
                    "is_starting": false,
                    "weight": 0.1504,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "FC Barcelona",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.1279,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 81.0,
                    "is_starting": true,
                    "weight": 0.1087,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 15.0,
                    "is_starting": false,
                    "weight": 0.0924,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.0785,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 55.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 82.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Rayo Vallecano",
                    "minutes": 84.0,
                    "is_starting": true,
                    "weight": 0.041,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Real Oviedo",
                    "minutes": 87.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 7.1
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.4471,
                  "creative_index": 0.2429,
                  "expectedGoals": 0.0621,
                  "expectedAssists": 0.0131,
                  "keyPass": 0.5876
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5955873727798462,
                    "model_output": 0.5956,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1391
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.1323
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0751
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0621
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0266
                        }
                      ],
                      "others": -0.1376,
                      "total": 0.5956,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.14522
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.137533
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.087478
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.078609
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": -0.035691
                        }
                      ],
                      "others_margin": -0.207818
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0401090644299984,
                    "model_output": 0.0401,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0223
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0081
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0073
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0057
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0028
                        }
                      ],
                      "others": -0.0146,
                      "total": 0.0401,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": -0.305546
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.122478
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.108582
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.094827
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.050028
                        }
                      ],
                      "others_margin": -0.310724
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.05764559283852577,
                    "model_output": 0.0576,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0087
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0068
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0068
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0051
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.003
                        }
                      ],
                      "others": -0.0107,
                      "total": 0.0576,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.108374
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.093851
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.093403
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.069227
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.04236
                        }
                      ],
                      "others_margin": -0.169561
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.09445931762456894,
                    "model_output": 0.0945,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0129
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0125
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0049
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0037
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0029
                        }
                      ],
                      "others": 0.0088,
                      "total": 0.0945,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.150837
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.147171
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.055374
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.043323
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.034239
                        }
                      ],
                      "others_margin": 0.0965
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.07757748663425446,
                    "model_output": 0.0776,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0155
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0127
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0089
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0054
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0045
                        }
                      ],
                      "others": -0.0132,
                      "total": 0.0776,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.179315
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.148551
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.09299
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.054674
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.048038
                        }
                      ],
                      "others_margin": -0.157606
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.2690604329109192,
                    "model_output": 0.2691,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0915
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0324
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0175
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0131
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0082
                        }
                      ],
                      "others": -0.0023,
                      "total": 0.2691,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.339505
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.13387
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.065558
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.048634
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.030524
                        }
                      ],
                      "others_margin": -0.008547
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.8508816957473755,
                    "model_output": 0.8509,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.2638
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.137
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0554
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0324
                        },
                        {
                          "name": "goalAssist",
                          "contribution": -0.0249
                        }
                      ],
                      "others": 0.0407,
                      "total": 0.8509,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.263817
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.136993
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.055446
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.032368
                        },
                        {
                          "name": "goalAssist",
                          "margin": -0.024931
                        }
                      ],
                      "others_margin": 0.040779
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.717222690582275,
                    "model_output": 6.7172,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0457
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0409
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0278
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0255
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0126
                        }
                      ],
                      "others": -0.0387,
                      "total": 6.7172,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.045737
                        },
                        {
                          "name": "rating",
                          "margin": -0.040858
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.027769
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.025499
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.012605
                        }
                      ],
                      "others_margin": -0.038712
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 36,
                  "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 0.9975, quality 0.437)",
              "stats": {
                "key_pass": 0.5941,
                "expected_assists": 0.04,
                "assists": 0.0575,
                "assist_rate": 0.0575,
                "expected_goals": 0.0942,
                "goals": 0.0774,
                "goal_rate": 0.0774,
                "shots_on_target": 0.2684,
                "total_shots": 0.8488,
                "rating": 6.7172,
                "minutes": 71.63,
                "total_pass": 21.7131,
                "accurate_pass": 18.2009,
                "duels_won": 3.5358,
                "total_long_balls": 0.9351,
                "accurate_long_balls": 0.2856,
                "total_own_half_passes": 8.3199,
                "accurate_own_half_passes": 7.5199,
                "total_opp_half_passes": 13.3931,
                "accurate_opp_half_passes": 10.681,
                "crosses_total": 0.8116,
                "crosses_accurate": 0.0499,
                "touches": 32.5281,
                "possession_lost": 7.1294,
                "dispossessed": 0.7288,
                "duels_lost": 4.5599,
                "aerial_won": 1.1781,
                "aerial_lost": 1.2617,
                "interceptions": 0.4458,
                "tackles_won": 0.9051,
                "tackles": 1.3942,
                "clearances": 0.7693,
                "total_contest": 1.2525,
                "won_contest": 0.5327,
                "challenges_lost": 0.8465,
                "fouls": 1.166,
                "fouls_drawn": 0.4308,
                "blocks": 0.0,
                "big_chances_created": 0.1337,
                "big_chances_missed": 0.0174,
                "xgot": 0.0873,
                "ball_carries": 7.5167,
                "total_progression": 18.0919,
                "progressive_carries": 0.7228,
                "shots_off_target": 0.5803
              },
              "params": {
                "market_value_eur": 1700000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9975,
                "reference_quality": 0.505,
                "history_matches": 36,
                "history_shrink": 0.122,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0106)",
              "stats": {
                "key_pass": 0.5941,
                "expected_assists": 0.04,
                "assists": 0.0569,
                "assist_rate": 0.0569,
                "expected_goals": 0.0942,
                "goals": 0.0808,
                "goal_rate": 0.0808,
                "shots_on_target": 0.2782,
                "total_shots": 0.8524,
                "rating": 6.7172,
                "minutes": 71.63,
                "total_pass": 21.7131,
                "accurate_pass": 18.2009,
                "duels_won": 3.5358,
                "total_long_balls": 0.9351,
                "accurate_long_balls": 0.2856,
                "total_own_half_passes": 8.3199,
                "accurate_own_half_passes": 7.5199,
                "total_opp_half_passes": 13.3931,
                "accurate_opp_half_passes": 10.681,
                "crosses_total": 0.824,
                "crosses_accurate": 0.0499,
                "touches": 32.5281,
                "possession_lost": 7.1294,
                "dispossessed": 0.7288,
                "duels_lost": 4.5599,
                "aerial_won": 1.1781,
                "aerial_lost": 1.2617,
                "interceptions": 0.4411,
                "tackles_won": 0.9039,
                "tackles": 1.3942,
                "clearances": 0.7693,
                "total_contest": 1.2525,
                "won_contest": 0.5327,
                "challenges_lost": 0.8465,
                "fouls": 1.1705,
                "fouls_drawn": 0.4305,
                "blocks": 0.0,
                "big_chances_created": 0.1337,
                "big_chances_missed": 0.0174,
                "xgot": 0.0873,
                "ball_carries": 7.5167,
                "total_progression": 18.0919,
                "progressive_carries": 0.7228,
                "shots_off_target": 0.5803
              },
              "params": {
                "blend_weight": 0.0106,
                "history_matches": 36,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.7959,
                "prior_reliability": 0.1333,
                "competition": "La Liga",
                "squad": "Sevilla"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 0.8116,
                  "after": 0.824
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.2684,
                  "after": 0.2782
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.5941,
                "expected_assists": 0.04,
                "assists": 0.0569,
                "assist_rate": 0.0569,
                "expected_goals": 0.0942,
                "goals": 0.0808,
                "goal_rate": 0.0808,
                "shots_on_target": 0.2782,
                "total_shots": 0.8585,
                "rating": 6.7172,
                "minutes": 71.63,
                "total_pass": 21.7131,
                "accurate_pass": 18.2009,
                "duels_won": 3.5358,
                "total_long_balls": 0.9351,
                "accurate_long_balls": 0.2856,
                "total_own_half_passes": 8.3199,
                "accurate_own_half_passes": 7.5199,
                "total_opp_half_passes": 13.3931,
                "accurate_opp_half_passes": 10.681,
                "crosses_total": 0.824,
                "crosses_accurate": 0.0499,
                "touches": 32.5281,
                "possession_lost": 7.1294,
                "dispossessed": 0.7288,
                "duels_lost": 4.5599,
                "aerial_won": 1.1781,
                "aerial_lost": 1.2617,
                "interceptions": 0.4411,
                "tackles_won": 0.9039,
                "tackles": 1.3942,
                "clearances": 0.7693,
                "total_contest": 1.2525,
                "won_contest": 0.5327,
                "challenges_lost": 0.8465,
                "fouls": 1.1705,
                "fouls_drawn": 0.4305,
                "blocks": 0.0,
                "big_chances_created": 0.1337,
                "big_chances_missed": 0.0174,
                "xgot": 0.0873,
                "ball_carries": 7.5167,
                "total_progression": 18.0919,
                "progressive_carries": 0.7228,
                "shots_off_target": 0.5803
              },
              "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.5941,
                "expected_assists": 0.04,
                "assists": 0.0569,
                "assist_rate": 0.0569,
                "expected_goals": 0.0894,
                "goals": 0.0767,
                "goal_rate": 0.0767,
                "shots_on_target": 0.2642,
                "total_shots": 0.8152,
                "rating": 6.7172,
                "minutes": 71.63,
                "total_pass": 21.7131,
                "accurate_pass": 18.2009,
                "duels_won": 3.5358,
                "total_long_balls": 0.9351,
                "accurate_long_balls": 0.2856,
                "total_own_half_passes": 8.3199,
                "accurate_own_half_passes": 7.5199,
                "total_opp_half_passes": 13.3931,
                "accurate_opp_half_passes": 10.681,
                "crosses_total": 0.824,
                "crosses_accurate": 0.0499,
                "touches": 32.5281,
                "possession_lost": 7.1294,
                "dispossessed": 0.7288,
                "duels_lost": 4.5599,
                "aerial_won": 1.0,
                "aerial_lost": 1.2617,
                "interceptions": 0.4411,
                "tackles_won": 0.9039,
                "tackles": 1.3942,
                "clearances": 0.7693,
                "total_contest": 1.2525,
                "won_contest": 0.5327,
                "challenges_lost": 0.8465,
                "fouls": 1.1705,
                "fouls_drawn": 0.4305,
                "blocks": 0.0,
                "big_chances_created": 0.1337,
                "big_chances_missed": 0.0165,
                "xgot": 0.0829,
                "ball_carries": 7.5167,
                "total_progression": 18.0919,
                "progressive_carries": 0.7228,
                "shots_off_target": 0.551,
                "duel_xg_multiplier": 0.9495,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.266,
                "pressing_faced": "LOW",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Nahuel Tenaglia, Facundo Garcés",
                "opponent_faced": "Nahuel Tenaglia, Facundo Garcés",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Nahuel Tenaglia, Facundo Garcés",
                  "matchup_zone": "RW vs LWB + CB",
                  "duel_win_rate": 0.266,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.9495,
                  "skill_edge": -0.0044,
                  "height_edge": -0.03,
                  "attacker_skill": 0.4374,
                  "defender_skill": 0.4472,
                  "attacker_role": "RW",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Nahuel Tenaglia",
                      "market_value": 3200000,
                      "role": "LWB",
                      "price_index": 0.7,
                      "adjusted_quality": 0.4569
                    },
                    {
                      "player": "Facundo Garcés",
                      "market_value": 1300000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4374
                    }
                  ],
                  "xg_override": 0.0894
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 1.1781,
                  "after": 1.0
                },
                {
                  "stat": "totalShots",
                  "before": 0.8585,
                  "after": 0.8152
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.5803,
                  "after": 0.551
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.2782,
                  "after": 0.2642
                }
              ]
            },
            {
              "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.5941,
                "expected_assists": 0.04,
                "assist_rate": 0.0569,
                "assists": 0,
                "expected_goals": 0.0894,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0.2642,
                "total_shots": 0.8152,
                "rating": 6.7172,
                "minutes": 71.63,
                "total_pass": 21.7131,
                "accurate_pass": 18.2009,
                "duels_won": 3.5358,
                "total_long_balls": 0.9351,
                "accurate_long_balls": 0.2856,
                "total_own_half_passes": 8.3199,
                "accurate_own_half_passes": 7.5199,
                "total_opp_half_passes": 13.3931,
                "accurate_opp_half_passes": 10.681,
                "crosses_total": 0.824,
                "crosses_accurate": 0.0499,
                "touches": 32.5281,
                "possession_lost": 7.1294,
                "dispossessed": 0.7288,
                "duels_lost": 4.5599,
                "aerial_won": 1.0,
                "aerial_lost": 1.2617,
                "interceptions": 0.4411,
                "tackles_won": 0.9039,
                "tackles": 1.3942,
                "clearances": 0.7693,
                "total_contest": 1.2525,
                "won_contest": 0.5327,
                "challenges_lost": 0.8465,
                "fouls": 1.1705,
                "fouls_drawn": 0.4305,
                "blocks": 0.0,
                "big_chances_created": 0.1337,
                "big_chances_missed": 0.0165,
                "xgot": 0.0829,
                "ball_carries": 7.5167,
                "total_progression": 18.0919,
                "progressive_carries": 0.7228,
                "shots_off_target": 0.551,
                "duel_xg_multiplier": 0.9495,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.266,
                "pressing_faced": "LOW",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Nahuel Tenaglia, Facundo Garcés",
                "opponent_faced": "Nahuel Tenaglia, Facundo Garcés",
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "key_pass": 0.5941,
                "expected_assists": 0.0643,
                "assist_rate": 0.0569,
                "assists": 0,
                "expected_goals": 0.1611,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0.2642,
                "total_shots": 0.8152,
                "rating": 6.7172,
                "minutes": 71.63,
                "total_pass": 21.7131,
                "accurate_pass": 18.2009,
                "duels_won": 3.5358,
                "total_long_balls": 0.9351,
                "accurate_long_balls": 0.2856,
                "total_own_half_passes": 8.3199,
                "accurate_own_half_passes": 7.5199,
                "total_opp_half_passes": 13.3931,
                "accurate_opp_half_passes": 10.681,
                "crosses_total": 0.824,
                "crosses_accurate": 0.0499,
                "touches": 32.5281,
                "possession_lost": 7.1294,
                "dispossessed": 0.7288,
                "duels_lost": 4.5599,
                "aerial_won": 1.0,
                "aerial_lost": 1.2617,
                "interceptions": 0.4411,
                "tackles_won": 0.9039,
                "tackles": 1.3942,
                "clearances": 0.7693,
                "total_contest": 1.2525,
                "won_contest": 0.5327,
                "challenges_lost": 0.8465,
                "fouls": 1.1705,
                "fouls_drawn": 0.4305,
                "blocks": 0.0,
                "big_chances_created": 0.1337,
                "big_chances_missed": 0.0165,
                "xgot": 0.1494,
                "ball_carries": 7.5167,
                "total_progression": 18.0919,
                "progressive_carries": 0.7228,
                "shots_off_target": 0.551,
                "duel_xg_multiplier": 0.9495,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.266,
                "pressing_faced": "LOW",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Nahuel Tenaglia, Facundo Garcés",
                "opponent_faced": "Nahuel Tenaglia, Facundo Garcés",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9089,
                "creation_factor": 1.1878
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0894,
                  "after": 0.1611
                },
                {
                  "stat": "expected_assists",
                  "before": 0.04,
                  "after": 0.0643
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 14 by projected rating, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0.5941,
                "expected_assists": 0.0643,
                "assist_rate": 0.0569,
                "assists": 0,
                "expected_goals": 0.1611,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0.2642,
                "total_shots": 0.8152,
                "rating": 6.7172,
                "minutes": 71.63,
                "total_pass": 21.7131,
                "accurate_pass": 18.2009,
                "duels_won": 3.5358,
                "total_long_balls": 0.9351,
                "accurate_long_balls": 0.2856,
                "total_own_half_passes": 8.3199,
                "accurate_own_half_passes": 7.5199,
                "total_opp_half_passes": 13.3931,
                "accurate_opp_half_passes": 10.681,
                "crosses_total": 0.824,
                "crosses_accurate": 0.0499,
                "touches": 32.5281,
                "possession_lost": 7.1294,
                "dispossessed": 0.7288,
                "duels_lost": 4.5599,
                "aerial_won": 1.0,
                "aerial_lost": 1.2617,
                "interceptions": 0.4411,
                "tackles_won": 0.9039,
                "tackles": 1.3942,
                "clearances": 0.7693,
                "total_contest": 1.2525,
                "won_contest": 0.5327,
                "challenges_lost": 0.8465,
                "fouls": 1.1705,
                "fouls_drawn": 0.4305,
                "blocks": 0.0,
                "big_chances_created": 0.1337,
                "big_chances_missed": 0.0165,
                "xgot": 0.1494,
                "ball_carries": 7.5167,
                "total_progression": 18.0919,
                "progressive_carries": 0.7228,
                "shots_off_target": 0.551,
                "duel_xg_multiplier": 0.9495,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.266,
                "pressing_faced": "LOW",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Nahuel Tenaglia, Facundo Garcés",
                "opponent_faced": "Nahuel Tenaglia, Facundo Garcés",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9089,
                "creation_factor": 1.1878,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 14,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 1779,
                "fifa_rank": 1231.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.5941,
                "expected_assists": 0.0643,
                "assist_rate": 0.0569,
                "assists": 0,
                "expected_goals": 0.1611,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0.2642,
                "total_shots": 0.8152,
                "rating": 6.7172,
                "minutes": 71.63,
                "total_pass": 21.7131,
                "accurate_pass": 18.2009,
                "duels_won": 3.5358,
                "total_long_balls": 0.9351,
                "accurate_long_balls": 0.2856,
                "total_own_half_passes": 8.3199,
                "accurate_own_half_passes": 7.5199,
                "total_opp_half_passes": 13.3931,
                "accurate_opp_half_passes": 10.681,
                "crosses_total": 0.824,
                "crosses_accurate": 0.0499,
                "touches": 32.5281,
                "possession_lost": 7.1294,
                "dispossessed": 0.7288,
                "duels_lost": 4.5599,
                "aerial_won": 1.0,
                "aerial_lost": 1.2617,
                "interceptions": 0.4411,
                "tackles_won": 0.9039,
                "tackles": 1.3942,
                "clearances": 0.7693,
                "total_contest": 1.2525,
                "won_contest": 0.5327,
                "challenges_lost": 0.8465,
                "fouls": 1.1705,
                "fouls_drawn": 0.4305,
                "blocks": 0.0,
                "big_chances_created": 0.1337,
                "big_chances_missed": 0.0165,
                "xgot": 0.1494,
                "ball_carries": 7.5167,
                "total_progression": 18.0919,
                "progressive_carries": 0.7228,
                "shots_off_target": 0.551,
                "duel_xg_multiplier": 0.9495,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.266,
                "pressing_faced": "LOW",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Nahuel Tenaglia, Facundo Garcés",
                "opponent_faced": "Nahuel Tenaglia, Facundo Garcés",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1488,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9089,
                "creation_factor": 1.1878,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.1488,
                "goal_rate": 0.0767,
                "scorer_weight": 0.1464,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0892,
                "finishing_factor": 0.9089,
                "appearance_weight": 1.0,
                "weight_rank": 4,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.5941,
                "expected_assists": 0.0643,
                "assist_rate": 0.0569,
                "assists": 0,
                "expected_goals": 0.1611,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0.2642,
                "total_shots": 0.8152,
                "rating": 6.7172,
                "minutes": 71.63,
                "total_pass": 21.7131,
                "accurate_pass": 18.2009,
                "duels_won": 3.5358,
                "total_long_balls": 0.9351,
                "accurate_long_balls": 0.2856,
                "total_own_half_passes": 8.3199,
                "accurate_own_half_passes": 7.5199,
                "total_opp_half_passes": 13.3931,
                "accurate_opp_half_passes": 10.681,
                "crosses_total": 0.824,
                "crosses_accurate": 0.0499,
                "touches": 32.5281,
                "possession_lost": 7.1294,
                "dispossessed": 0.7288,
                "duels_lost": 4.5599,
                "aerial_won": 1.0,
                "aerial_lost": 1.2617,
                "interceptions": 0.4411,
                "tackles_won": 0.9039,
                "tackles": 1.3942,
                "clearances": 0.7693,
                "total_contest": 1.2525,
                "won_contest": 0.5327,
                "challenges_lost": 0.8465,
                "fouls": 1.1705,
                "fouls_drawn": 0.4305,
                "blocks": 0.0,
                "big_chances_created": 0.1337,
                "big_chances_missed": 0.0165,
                "xgot": 0.1494,
                "ball_carries": 7.5167,
                "total_progression": 18.0919,
                "progressive_carries": 0.7228,
                "shots_off_target": 0.551,
                "duel_xg_multiplier": 0.9495,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.266,
                "pressing_faced": "LOW",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Nahuel Tenaglia, Facundo Garcés",
                "opponent_faced": "Nahuel Tenaglia, Facundo Garcés",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1488,
                "projected_assists": 0,
                "assist_probability": 0.0623,
                "finishing_factor": 0.9089,
                "creation_factor": 1.1878,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0623,
                "assist_rate": 0.0569,
                "provider_weight": 0.0764,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0631,
                "creation_factor": 1.1878,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Giorgi Kochorashvili": {
          "player_id": 886402,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 176,
          "market_value": 4300000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1462,
            "assist_rate": 0.0843,
            "assists": 0,
            "expected_goals": 0.0854,
            "goal_rate": 0.0697,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.9311,
            "minutes": 78,
            "total_pass": 34,
            "accurate_pass": 27,
            "duels_won": 5,
            "total_long_balls": 5,
            "accurate_long_balls": 2,
            "total_own_half_passes": 14,
            "accurate_own_half_passes": 12,
            "total_opp_half_passes": 20,
            "accurate_opp_half_passes": 15,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 51,
            "possession_lost": 13.5672,
            "dispossessed": 0.993,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 2,
            "tackles": 3,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 12,
            "total_progression": 0,
            "progressive_carries": 0,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9843,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.7,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.409,
            "pressing_faced": "LOW",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Pablo Ibáñez",
            "opponent_faced": "Pablo Ibáñez",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0819,
            "projected_assists": 0,
            "assist_probability": 0.136,
            "finishing_factor": 1.229,
            "creation_factor": 0.9532,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16421063.0,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 88,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0327,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 34,
                "key_pass": 4,
                "tackles": 4,
                "tackles_won": 3,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 7,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416349.0,
              "match_date": "2026-09-19",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 68,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0045,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 22,
                "tackles": 4,
                "tackles_won": 3,
                "clearances": 2,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 9,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0386,
                "expected_assists": 0.0323,
                "total_shots": 1,
                "total_pass": 18,
                "accurate_pass": 15,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 19,
                "rating": 6.9,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0132,
                "expected_assists": 0.1527,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 8,
                "accurate_pass": 7,
                "key_pass": 1,
                "clearances": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 54,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0181,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 23,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 35,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0687,
                "expected_assists": 0.0183,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 21,
                "accurate_pass": 20,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3657,
            "combined_rank_score": 1619.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 247.0,
            "sofascore_rating": 7.12,
            "sofascore_appearances": 5.0,
            "fifa_rank": 2992.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9311,
            "source_file": "data/player_rankings.csv",
            "player_name": "Giorgi Kochorashvili",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Altimira",
                  "ranking": 3652
                },
                {
                  "player_name": "Miguel Almirón",
                  "ranking": 3653
                },
                {
                  "player_name": "Marko Livaja",
                  "ranking": 3654
                },
                {
                  "player_name": "Víctor Chust",
                  "ranking": 3655
                },
                {
                  "player_name": "Kevin Lomónaco",
                  "ranking": 3656
                }
              ],
              "lower": [
                {
                  "player_name": "Quilindschy Hartman",
                  "ranking": 3658
                },
                {
                  "player_name": "Oscar Dorley",
                  "ranking": 3659
                },
                {
                  "player_name": "Mykola Matviienko",
                  "ranking": 3660
                },
                {
                  "player_name": "Hamed Junior Traorè",
                  "ranking": 3661
                },
                {
                  "player_name": "Andrés Cubas",
                  "ranking": 3662
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.629,
          "history_matches": 6,
          "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": 6,
            "data_confidence": 0.629,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.993,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "minutes": 36.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 5.0,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.0267
            },
            "rationale": "XGBoost regressor (M_service) evaluated 6 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.03, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 1.1875,
                "expected_assists": 0.0915,
                "assists": 0.0856,
                "assist_rate": 0.0856,
                "expected_goals": 0.0485,
                "goals": 0.0719,
                "goal_rate": 0.0719,
                "shots_on_target": 0.2128,
                "total_shots": 0.7292,
                "rating": 6.9311,
                "minutes": 77.51,
                "total_pass": 33.7726,
                "accurate_pass": 26.9456,
                "duels_won": 4.6045,
                "total_long_balls": 4.6045,
                "accurate_long_balls": 1.7192,
                "total_own_half_passes": 13.7123,
                "accurate_own_half_passes": 12.3323,
                "total_opp_half_passes": 20.0603,
                "accurate_opp_half_passes": 14.6133,
                "crosses_total": 1.8426,
                "crosses_accurate": 0.0,
                "touches": 51.0962,
                "possession_lost": 13.6628,
                "dispossessed": 1.0,
                "duels_lost": 2.6696,
                "aerial_won": 0.7775,
                "aerial_lost": 0.0,
                "interceptions": 0.2809,
                "tackles_won": 2.4383,
                "tackles": 3.1574,
                "clearances": 1.0496,
                "total_contest": 1.447,
                "won_contest": 0.3887,
                "challenges_lost": 0.3304,
                "fouls": 0.2809,
                "fouls_drawn": 0.2809,
                "blocks": 0.3887,
                "big_chances_created": 0.3887,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 12.2332,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.5164
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Levante UD",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.2408,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "FC Barcelona",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.2047,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.174,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.1479,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 54.0,
                    "is_starting": true,
                    "weight": 0.1257,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 0.1069,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 6.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.5356,
                  "creative_index": 0.4692,
                  "expectedGoals": 0.016,
                  "expectedAssists": 0.0413,
                  "keyPass": 1.1112
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.1874990463256836,
                    "model_output": 1.1875,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1471
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.076
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0504
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": 0.0505
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0517
                        }
                      ],
                      "others": -0.0784,
                      "total": 1.1875,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.152973
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.070695
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.044281
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": 0.042491
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": 0.041726
                        }
                      ],
                      "others_margin": -0.064018
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.09153864532709122,
                    "model_output": 0.0915,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0149
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0102
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0103
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0056
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.004
                        }
                      ],
                      "others": 0.0108,
                      "total": 0.0915,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": -0.193579
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.136118
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.120843
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.06461
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.048838
                        }
                      ],
                      "others_margin": 0.127995
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.0856054276227951,
                    "model_output": 0.0856,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0079
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0066
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0062
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0054
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0047
                        }
                      ],
                      "others": -0.0085,
                      "total": 0.0856,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.089042
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.068804
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.06461
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.055711
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.04894
                        }
                      ],
                      "others_margin": -0.094541
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.04849381372332573,
                    "model_output": 0.0485,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0359
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0086
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.006
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0027
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0023
                        }
                      ],
                      "others": -0.005,
                      "total": 0.0485,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.496331
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.143067
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.09695
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.046552
                        },
                        {
                          "name": "goals",
                          "margin": -0.042761
                        }
                      ],
                      "others_margin": -0.098831
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.07190024107694626,
                    "model_output": 0.0719,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0201
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0112
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0079
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0072
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0044
                        }
                      ],
                      "others": -0.0021,
                      "total": 0.0719,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.238994
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.162516
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.117671
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.096256
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.057329
                        }
                      ],
                      "others_margin": -0.029178
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.21276700496673584,
                    "model_output": 0.2128,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0827
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0399
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0253
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0156
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0145
                        }
                      ],
                      "others": -0.0067,
                      "total": 0.2128,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.301119
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.185653
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.121664
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.073456
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.068493
                        }
                      ],
                      "others_margin": -0.031399
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.7291440367698669,
                    "model_output": 0.7291,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.2844
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1211
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0487
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0443
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0304
                        }
                      ],
                      "others": -0.0299,
                      "total": 0.7291,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.284354
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.121083
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.048687
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.044311
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.03045
                        }
                      ],
                      "others_margin": -0.029971
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.9311347007751465,
                    "model_output": 6.9311,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.042
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0234
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": 0.0167
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0143
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.007
                        }
                      ],
                      "others": 0.0129,
                      "total": 6.9311,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.042024
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.023388
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": 0.016741
                        },
                        {
                          "name": "rating",
                          "margin": -0.014336
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.006967
                        }
                      ],
                      "others_margin": 0.012881
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 6,
                  "role_matches": 3,
                  "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.9930, quality 0.454)",
              "stats": {
                "key_pass": 1.1792,
                "expected_assists": 0.0909,
                "assists": 0.085,
                "assist_rate": 0.085,
                "expected_goals": 0.0482,
                "goals": 0.0714,
                "goal_rate": 0.0714,
                "shots_on_target": 0.2113,
                "total_shots": 0.7241,
                "rating": 6.9311,
                "minutes": 77.51,
                "total_pass": 33.5362,
                "accurate_pass": 26.757,
                "duels_won": 4.5723,
                "total_long_balls": 4.5723,
                "accurate_long_balls": 1.7072,
                "total_own_half_passes": 13.6163,
                "accurate_own_half_passes": 12.246,
                "total_opp_half_passes": 19.9199,
                "accurate_opp_half_passes": 14.511,
                "crosses_total": 1.8297,
                "crosses_accurate": 0.0,
                "touches": 50.7385,
                "possession_lost": 13.5672,
                "dispossessed": 0.993,
                "duels_lost": 2.6509,
                "aerial_won": 0.7721,
                "aerial_lost": 0.0,
                "interceptions": 0.2789,
                "tackles_won": 2.4212,
                "tackles": 3.1353,
                "clearances": 1.0423,
                "total_contest": 1.4369,
                "won_contest": 0.386,
                "challenges_lost": 0.3281,
                "fouls": 0.2789,
                "fouls_drawn": 0.2789,
                "blocks": 0.386,
                "big_chances_created": 0.386,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 12.1476,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.5128
              },
              "params": {
                "market_value_eur": 4300000,
                "quality_factor": 0.4535,
                "boost_factor": 0.993,
                "reference_quality": 0.505,
                "history_matches": 6,
                "history_shrink": 0.4545,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0079)",
              "stats": {
                "key_pass": 1.1792,
                "expected_assists": 0.0909,
                "assists": 0.0843,
                "assist_rate": 0.0843,
                "expected_goals": 0.0482,
                "goals": 0.0708,
                "goal_rate": 0.0708,
                "shots_on_target": 0.2096,
                "total_shots": 0.7524,
                "rating": 6.9311,
                "minutes": 77.51,
                "total_pass": 33.5362,
                "accurate_pass": 26.757,
                "duels_won": 4.5723,
                "total_long_balls": 4.5723,
                "accurate_long_balls": 1.7072,
                "total_own_half_passes": 13.6163,
                "accurate_own_half_passes": 12.246,
                "total_opp_half_passes": 19.9199,
                "accurate_opp_half_passes": 14.511,
                "crosses_total": 1.8662,
                "crosses_accurate": 0.0,
                "touches": 50.7385,
                "possession_lost": 13.5672,
                "dispossessed": 0.993,
                "duels_lost": 2.6509,
                "aerial_won": 0.7721,
                "aerial_lost": 0.0,
                "interceptions": 0.2767,
                "tackles_won": 2.4191,
                "tackles": 3.1353,
                "clearances": 1.0423,
                "total_contest": 1.4369,
                "won_contest": 0.386,
                "challenges_lost": 0.3281,
                "fouls": 0.2937,
                "fouls_drawn": 0.2937,
                "blocks": 0.386,
                "big_chances_created": 0.386,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 12.1476,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.5128
              },
              "params": {
                "blend_weight": 0.0079,
                "history_matches": 6,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.8612,
                "prior_reliability": 0.0267,
                "competition": "La Liga",
                "squad": "Sevilla"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 1.8297,
                  "after": 1.8662
                },
                {
                  "stat": "totalShots",
                  "before": 0.7241,
                  "after": 0.7524
                },
                {
                  "stat": "fouls",
                  "before": 0.2789,
                  "after": 0.2937
                },
                {
                  "stat": "wasFouled",
                  "before": 0.2789,
                  "after": 0.2937
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1.1792,
                "expected_assists": 0.0909,
                "assists": 0.0843,
                "assist_rate": 0.0843,
                "expected_goals": 0.0482,
                "goals": 0.0708,
                "goal_rate": 0.0708,
                "shots_on_target": 0.2096,
                "total_shots": 0.7524,
                "rating": 6.9311,
                "minutes": 77.51,
                "total_pass": 33.5362,
                "accurate_pass": 26.757,
                "duels_won": 4.5723,
                "total_long_balls": 4.5723,
                "accurate_long_balls": 1.7072,
                "total_own_half_passes": 13.6163,
                "accurate_own_half_passes": 12.246,
                "total_opp_half_passes": 19.9199,
                "accurate_opp_half_passes": 14.511,
                "crosses_total": 1.8662,
                "crosses_accurate": 0.0,
                "touches": 50.7385,
                "possession_lost": 13.5672,
                "dispossessed": 0.993,
                "duels_lost": 2.6509,
                "aerial_won": 0.7721,
                "aerial_lost": 0.0,
                "interceptions": 0.2767,
                "tackles_won": 2.4191,
                "tackles": 3.1353,
                "clearances": 1.0423,
                "total_contest": 1.4369,
                "won_contest": 0.386,
                "challenges_lost": 0.3281,
                "fouls": 0.2937,
                "fouls_drawn": 0.2937,
                "blocks": 0.386,
                "big_chances_created": 0.386,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 12.1476,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.5128
              },
              "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.1792,
                "expected_assists": 0.0909,
                "assists": 0.0843,
                "assist_rate": 0.0843,
                "expected_goals": 0.0474,
                "goals": 0.0697,
                "goal_rate": 0.0697,
                "shots_on_target": 0.2063,
                "total_shots": 0.7406,
                "rating": 6.9311,
                "minutes": 77.51,
                "total_pass": 33.5362,
                "accurate_pass": 26.757,
                "duels_won": 4.5723,
                "total_long_balls": 4.5723,
                "accurate_long_balls": 1.7072,
                "total_own_half_passes": 13.6163,
                "accurate_own_half_passes": 12.246,
                "total_opp_half_passes": 19.9199,
                "accurate_opp_half_passes": 14.511,
                "crosses_total": 1.8662,
                "crosses_accurate": 0.0,
                "touches": 50.7385,
                "possession_lost": 13.5672,
                "dispossessed": 0.993,
                "duels_lost": 2.6509,
                "aerial_won": 0.9,
                "aerial_lost": 0.0,
                "interceptions": 0.2767,
                "tackles_won": 2.4191,
                "tackles": 3.1353,
                "clearances": 1.0423,
                "total_contest": 1.4369,
                "won_contest": 0.386,
                "challenges_lost": 0.3281,
                "fouls": 0.2937,
                "fouls_drawn": 0.2937,
                "blocks": 0.386,
                "big_chances_created": 0.386,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 12.1476,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.5047,
                "duel_xg_multiplier": 0.9843,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.409,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Pablo Ibáñez",
                  "matchup_zone": "CDM vs CDM",
                  "duel_win_rate": 0.409,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.9843,
                  "skill_edge": 0.0013,
                  "height_edge": -0.012,
                  "attacker_skill": 0.4629,
                  "defender_skill": 0.46,
                  "attacker_role": "CDM",
                  "attacker_mv_price_index": 0.85,
                  "defender_adjusted_parts": [
                    {
                      "player": "Pablo Ibáñez",
                      "market_value": 4099999,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.46
                    }
                  ],
                  "xg_override": 0.0474
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.7721,
                  "after": 0.9
                },
                {
                  "stat": "totalShots",
                  "before": 0.7524,
                  "after": 0.7406
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.5128,
                  "after": 0.5047
                }
              ]
            },
            {
              "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.1792,
                "expected_assists": 0.0909,
                "assist_rate": 0.0843,
                "assists": 0,
                "expected_goals": 0.0474,
                "goal_rate": 0.0697,
                "goals": 0,
                "shots_on_target": 0.2063,
                "total_shots": 0.7406,
                "rating": 6.9311,
                "minutes": 77.51,
                "total_pass": 33.5362,
                "accurate_pass": 26.757,
                "duels_won": 4.5723,
                "total_long_balls": 4.5723,
                "accurate_long_balls": 1.7072,
                "total_own_half_passes": 13.6163,
                "accurate_own_half_passes": 12.246,
                "total_opp_half_passes": 19.9199,
                "accurate_opp_half_passes": 14.511,
                "crosses_total": 1.8662,
                "crosses_accurate": 0.0,
                "touches": 50.7385,
                "possession_lost": 13.5672,
                "dispossessed": 0.993,
                "duels_lost": 2.6509,
                "aerial_won": 0.9,
                "aerial_lost": 0.0,
                "interceptions": 0.2767,
                "tackles_won": 2.4191,
                "tackles": 3.1353,
                "clearances": 1.0423,
                "total_contest": 1.4369,
                "won_contest": 0.386,
                "challenges_lost": 0.3281,
                "fouls": 0.2937,
                "fouls_drawn": 0.2937,
                "blocks": 0.386,
                "big_chances_created": 0.386,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 12.1476,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.5047,
                "duel_xg_multiplier": 0.9843,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.409,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "key_pass": 1.1792,
                "expected_assists": 0.1462,
                "assist_rate": 0.0843,
                "assists": 0,
                "expected_goals": 0.0854,
                "goal_rate": 0.0697,
                "goals": 0,
                "shots_on_target": 0.2063,
                "total_shots": 0.7406,
                "rating": 6.9311,
                "minutes": 77.51,
                "total_pass": 33.5362,
                "accurate_pass": 26.757,
                "duels_won": 4.5723,
                "total_long_balls": 4.5723,
                "accurate_long_balls": 1.7072,
                "total_own_half_passes": 13.6163,
                "accurate_own_half_passes": 12.246,
                "total_opp_half_passes": 19.9199,
                "accurate_opp_half_passes": 14.511,
                "crosses_total": 1.8662,
                "crosses_accurate": 0.0,
                "touches": 50.7385,
                "possession_lost": 13.5672,
                "dispossessed": 0.993,
                "duels_lost": 2.6509,
                "aerial_won": 0.9,
                "aerial_lost": 0.0,
                "interceptions": 0.2767,
                "tackles_won": 2.4191,
                "tackles": 3.1353,
                "clearances": 1.0423,
                "total_contest": 1.4369,
                "won_contest": 0.386,
                "challenges_lost": 0.3281,
                "fouls": 0.2937,
                "fouls_drawn": 0.2937,
                "blocks": 0.386,
                "big_chances_created": 0.386,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 12.1476,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.5047,
                "duel_xg_multiplier": 0.9843,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.409,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.229,
                "creation_factor": 0.9532
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0474,
                  "after": 0.0854
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0909,
                  "after": 0.1462
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 1 by projected rating, fifa_overall 74.0)",
              "stats": {
                "key_pass": 1.1792,
                "expected_assists": 0.1462,
                "assist_rate": 0.0843,
                "assists": 0,
                "expected_goals": 0.0854,
                "goal_rate": 0.0697,
                "goals": 0,
                "shots_on_target": 0.2063,
                "total_shots": 0.7406,
                "rating": 6.9311,
                "minutes": 77.51,
                "total_pass": 33.5362,
                "accurate_pass": 26.757,
                "duels_won": 4.5723,
                "total_long_balls": 4.5723,
                "accurate_long_balls": 1.7072,
                "total_own_half_passes": 13.6163,
                "accurate_own_half_passes": 12.246,
                "total_opp_half_passes": 19.9199,
                "accurate_opp_half_passes": 14.511,
                "crosses_total": 1.8662,
                "crosses_accurate": 0.0,
                "touches": 50.7385,
                "possession_lost": 13.5672,
                "dispossessed": 0.993,
                "duels_lost": 2.6509,
                "aerial_won": 0.9,
                "aerial_lost": 0.0,
                "interceptions": 0.2767,
                "tackles_won": 2.4191,
                "tackles": 3.1353,
                "clearances": 1.0423,
                "total_contest": 1.4369,
                "won_contest": 0.386,
                "challenges_lost": 0.3281,
                "fouls": 0.2937,
                "fouls_drawn": 0.2937,
                "blocks": 0.386,
                "big_chances_created": 0.386,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 12.1476,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.5047,
                "duel_xg_multiplier": 0.9843,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.409,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.229,
                "creation_factor": 0.9532,
                "fifa_overall": 74.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": 3657,
                "fifa_rank": 2992.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 74.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.1792,
                "expected_assists": 0.1462,
                "assist_rate": 0.0843,
                "assists": 0,
                "expected_goals": 0.0854,
                "goal_rate": 0.0697,
                "goals": 0,
                "shots_on_target": 0.2063,
                "total_shots": 0.7406,
                "rating": 6.9311,
                "minutes": 77.51,
                "total_pass": 33.5362,
                "accurate_pass": 26.757,
                "duels_won": 4.5723,
                "total_long_balls": 4.5723,
                "accurate_long_balls": 1.7072,
                "total_own_half_passes": 13.6163,
                "accurate_own_half_passes": 12.246,
                "total_opp_half_passes": 19.9199,
                "accurate_opp_half_passes": 14.511,
                "crosses_total": 1.8662,
                "crosses_accurate": 0.0,
                "touches": 50.7385,
                "possession_lost": 13.5672,
                "dispossessed": 0.993,
                "duels_lost": 2.6509,
                "aerial_won": 0.9,
                "aerial_lost": 0.0,
                "interceptions": 0.2767,
                "tackles_won": 2.4191,
                "tackles": 3.1353,
                "clearances": 1.0423,
                "total_contest": 1.4369,
                "won_contest": 0.386,
                "challenges_lost": 0.3281,
                "fouls": 0.2937,
                "fouls_drawn": 0.2937,
                "blocks": 0.386,
                "big_chances_created": 0.386,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 12.1476,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.5047,
                "duel_xg_multiplier": 0.9843,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.409,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0819,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.229,
                "creation_factor": 0.9532,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0819,
                "goal_rate": 0.0697,
                "scorer_weight": 0.105,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0639,
                "finishing_factor": 1.229,
                "appearance_weight": 1.0,
                "weight_rank": 6,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 1.1792,
                "expected_assists": 0.1462,
                "assist_rate": 0.0843,
                "assists": 0,
                "expected_goals": 0.0854,
                "goal_rate": 0.0697,
                "goals": 0,
                "shots_on_target": 0.2063,
                "total_shots": 0.7406,
                "rating": 6.9311,
                "minutes": 77.51,
                "total_pass": 33.5362,
                "accurate_pass": 26.757,
                "duels_won": 4.5723,
                "total_long_balls": 4.5723,
                "accurate_long_balls": 1.7072,
                "total_own_half_passes": 13.6163,
                "accurate_own_half_passes": 12.246,
                "total_opp_half_passes": 19.9199,
                "accurate_opp_half_passes": 14.511,
                "crosses_total": 1.8662,
                "crosses_accurate": 0.0,
                "touches": 50.7385,
                "possession_lost": 13.5672,
                "dispossessed": 0.993,
                "duels_lost": 2.6509,
                "aerial_won": 0.9,
                "aerial_lost": 0.0,
                "interceptions": 0.2767,
                "tackles_won": 2.4191,
                "tackles": 3.1353,
                "clearances": 1.0423,
                "total_contest": 1.4369,
                "won_contest": 0.386,
                "challenges_lost": 0.3281,
                "fouls": 0.2937,
                "fouls_drawn": 0.2937,
                "blocks": 0.386,
                "big_chances_created": 0.386,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 12.1476,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.5047,
                "duel_xg_multiplier": 0.9843,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.409,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pablo Ibáñez",
                "opponent_faced": "Pablo Ibáñez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0819,
                "projected_assists": 0,
                "assist_probability": 0.136,
                "finishing_factor": 1.229,
                "creation_factor": 0.9532,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.136,
                "assist_rate": 0.0843,
                "provider_weight": 0.1394,
                "squad_weight_total": 1.2113,
                "weight_share": 0.115,
                "creation_factor": 0.9532,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Miguel Sierra": {
          "player_id": 2509247,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 30,
          "height": 181,
          "market_value": 7600000,
          "stats": {
            "expected_goals": 0.2296,
            "goal_rate": 0.1911,
            "goals": 1,
            "shots_on_target": 0,
            "total_shots": 2,
            "expected_assists": 0.1579,
            "key_pass": 1,
            "rating": 6.8717,
            "minutes": 74,
            "total_pass": 20,
            "accurate_pass": 16,
            "duels_won": 8,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 10,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 39,
            "possession_lost": 12.0,
            "dispossessed": 1.6936,
            "duels_lost": 8,
            "aerial_lost": 1,
            "total_contest": 5,
            "won_contest": 3,
            "ball_recovery": 4,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 2,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1824,
            "offsides": 0,
            "ball_carries": 14,
            "total_progression": 46,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.985,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "aerial_won": 2,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.19,
            "pressing_faced": "LOW",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Facundo Garcés, Ville Koski",
            "opponent_faced": "Facundo Garcés, Ville Koski",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.2051,
            "projected_assists": 0,
            "assist_probability": 0.1461,
            "finishing_factor": 1.25,
            "creation_factor": 0.8,
            "fifa_overall": 65.0
          },
          "latest_10_games": [
            {
              "match_id": 16421063.0,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 68,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1693,
                "expected_assists": 0.4615,
                "total_shots": 3,
                "shots_off_target": 1,
                "total_pass": 20,
                "accurate_pass": 16,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 4,
                "duels_won": 8,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416349.0,
              "match_date": "2026-09-19",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 78,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1392,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 17,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "aerial_won": 1,
                "duels_won": 10,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 89,
                "rating": 7.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1899,
                "expected_assists": 0.0911,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 34,
                "accurate_pass": 27,
                "key_pass": 2,
                "tackles": 5,
                "tackles_won": 3,
                "aerial_won": 1,
                "duels_won": 12,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 63,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0486,
                "expected_assists": 0.0131,
                "total_shots": 1,
                "total_pass": 16,
                "accurate_pass": 14,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 71,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0149,
                "expected_assists": 0.0096,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 14,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 80,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1411,
                "expected_assists": 0.0422,
                "total_shots": 4,
                "shots_on_target": 3,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 12,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 45,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0318,
                "expected_assists": 0.0018,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 7,
                "accurate_pass": 5,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 70,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0291,
                "expected_assists": 0.1331,
                "total_shots": 1,
                "total_pass": 16,
                "accurate_pass": 9,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083228.0,
              "match_date": "2026-01-19",
              "home_team": "Elche",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Elche",
              "stats": {
                "minutes": 27,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0459,
                "expected_assists": 0.0039,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 8,
                "accurate_pass": 3,
                "tackles": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083219.0,
              "match_date": "2026-01-12",
              "home_team": "Sevilla",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 12,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1111,
                "total_shots": 1,
                "shots_on_target": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 7553,
            "combined_rank_score": 5973.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 143.0,
            "sofascore_rating": 7.3333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 11803.0,
            "fifa_overall": 65.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8717,
            "source_file": "data/player_rankings.csv",
            "player_name": "Miguel Sierra",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Gaspar Campos",
                  "ranking": 7548
                },
                {
                  "player_name": "Alex Millán",
                  "ranking": 7549
                },
                {
                  "player_name": "Daijiro Chirino",
                  "ranking": 7550
                },
                {
                  "player_name": "Aldasoro",
                  "ranking": 7551
                },
                {
                  "player_name": "Imanol",
                  "ranking": 7552
                }
              ],
              "lower": [
                {
                  "player_name": "Javi Martón",
                  "ranking": 7554
                },
                {
                  "player_name": "Zico Buurmeester",
                  "ranking": 7555
                },
                {
                  "player_name": "Víctor Aznar",
                  "ranking": 7556
                },
                {
                  "player_name": "Ale García",
                  "ranking": 7557
                },
                {
                  "player_name": "Hiroshi Ibusuki",
                  "ranking": 7558
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 12,
          "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": 12,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.999,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (F_service) evaluated 12 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.1294,
                "goals": 0.1942,
                "goal_rate": 0.1942,
                "shots_on_target": 0.4929,
                "total_shots": 1.8898,
                "expected_assists": 0.0983,
                "key_pass": 0.9641,
                "rating": 6.8717,
                "minutes": 73.61,
                "total_pass": 20.0569,
                "accurate_pass": 15.6614,
                "duels_won": 7.7498,
                "total_long_balls": 1.1697,
                "accurate_long_balls": 0.4767,
                "total_opp_half_passes": 14.6876,
                "accurate_opp_half_passes": 10.4912,
                "crosses_total": 2.0058,
                "crosses_accurate": 0.4318,
                "touches": 39.4339,
                "possession_lost": 12.012,
                "dispossessed": 1.6953,
                "duels_lost": 8.0951,
                "aerial_lost": 1.0235,
                "total_contest": 4.6359,
                "won_contest": 2.507,
                "ball_recovery": 3.5452,
                "challenges_lost": 2.2466,
                "fouls": 1.0007,
                "fouls_drawn": 1.7236,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0661,
                "tackles_won": 1.2804,
                "tackles": 1.9284,
                "clearances": 0.3799,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1028,
                "offsides": 0.1669,
                "ball_carries": 13.6262,
                "total_progression": 46.1997,
                "progressive_carries": 2.456,
                "shots_off_target": 1.3969
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:06:26.876327+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 612,
                    "rows": 17180
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Levante UD",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.1749,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "FC Barcelona",
                    "minutes": 78.0,
                    "is_starting": true,
                    "weight": 0.1486,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1263,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.1074,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.0913,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0776,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.066,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.0561,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-01-19",
                    "opponent": "Elche",
                    "minutes": 27.0,
                    "is_starting": false,
                    "weight": 0.0477,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-01-12",
                    "opponent": "Celta Vigo",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.0405,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 12.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 13.8187,
                  "expectedGoals": 0.0822,
                  "accurateOppositionHalfPasses": 9.1736,
                  "totalShots": 1.5735,
                  "totalOppositionHalfPasses": 13.0589
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.12940479815006256,
                    "model_output": 0.1294,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2767
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0987
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.036
                      },
                      {
                        "name": "goals",
                        "importance": 0.0336
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.1929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0602
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0439
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0173
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": -0.0135
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0123
                        }
                      ],
                      "others": -0.0367,
                      "total": 0.1294,
                      "log_link": true,
                      "margin_base": -1.645586,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.271478
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.190604
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.086399
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": -0.073224
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.071466
                        }
                      ],
                      "others_margin": -0.24901
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.19424203038215637,
                    "model_output": 0.1942,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1491
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0805
                      },
                      {
                        "name": "goals",
                        "importance": 0.056
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0343
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0288
                      }
                    ],
                    "decomposition": {
                      "base": 0.1972,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0684
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0374
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.017
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": -0.0143
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0111
                        }
                      ],
                      "others": -0.0138,
                      "total": 0.1942,
                      "log_link": true,
                      "margin_base": -1.623746,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.298005
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.151636
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.077569
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": -0.069989
                        },
                        {
                          "name": "goals",
                          "margin": 0.054756
                        }
                      ],
                      "others_margin": -0.068471
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.49293252825737,
                    "model_output": 0.4929,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2173
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0637
                      },
                      {
                        "name": "goals",
                        "importance": 0.0596
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0393
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.5269,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1473
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0573
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0451
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0282
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": -0.0134
                        }
                      ],
                      "others": -0.0373,
                      "total": 0.4929,
                      "log_link": true,
                      "margin_base": -0.640773,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.24646
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.088762
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.075865
                        },
                        {
                          "name": "goals",
                          "margin": -0.05063
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": -0.025016
                        }
                      ],
                      "others_margin": -0.072796
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.8897916078567505,
                    "model_output": 1.8898,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.3005
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0627
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0526
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0309
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0307
                      }
                    ],
                    "decomposition": {
                      "base": 1.3756,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4895
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0957
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0513
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0416
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0411
                        }
                      ],
                      "others": -0.0202,
                      "total": 1.8898,
                      "log_link": false,
                      "margin_base": 1.375643,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.489513
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.095657
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.051254
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.041556
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.041114
                        }
                      ],
                      "others_margin": -0.02021
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.09832315891981125,
                    "model_output": 0.0983,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1287
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1119
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0634
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.051
                      }
                    ],
                    "decomposition": {
                      "base": 0.065,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0124
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0101
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0093
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0056
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0035
                        }
                      ],
                      "others": 0.0036,
                      "total": 0.0983,
                      "log_link": true,
                      "margin_base": -2.733324,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.174861
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.12311
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.101132
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.059096
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.03758
                        }
                      ],
                      "others_margin": 0.036241
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.9640547633171082,
                    "model_output": 0.9641,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1579
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1341
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0953
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.069
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0295
                      }
                    ],
                    "decomposition": {
                      "base": 0.6917,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1484
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0424
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0431
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0427
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0398
                        }
                      ],
                      "others": 0.0414,
                      "total": 0.9641,
                      "log_link": true,
                      "margin_base": -0.368585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.194315
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.049225
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.04767
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.047257
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.044081
                        }
                      ],
                      "others_margin": 0.043944
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.871721267700195,
                    "model_output": 6.8717,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.048
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0462
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0455
                      },
                      {
                        "name": "rating",
                        "importance": 0.0455
                      }
                    ],
                    "decomposition": {
                      "base": 6.7733,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0561
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0219
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0197
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0141
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.013
                        }
                      ],
                      "others": -0.0264,
                      "total": 6.8717,
                      "log_link": false,
                      "margin_base": 6.773334,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.056133
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.021882
                        },
                        {
                          "name": "touches",
                          "margin": 0.019659
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.014119
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.013026
                        }
                      ],
                      "others_margin": -0.026432
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 12,
                  "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.9990, quality 0.494)",
              "stats": {
                "expected_goals": 0.1293,
                "goals": 0.194,
                "goal_rate": 0.194,
                "shots_on_target": 0.4924,
                "total_shots": 1.8879,
                "expected_assists": 0.0982,
                "key_pass": 0.9631,
                "rating": 6.8717,
                "minutes": 73.61,
                "total_pass": 20.0368,
                "accurate_pass": 15.6457,
                "duels_won": 7.7421,
                "total_long_balls": 1.1685,
                "accurate_long_balls": 0.4762,
                "total_opp_half_passes": 14.6729,
                "accurate_opp_half_passes": 10.4807,
                "crosses_total": 2.0038,
                "crosses_accurate": 0.4314,
                "touches": 39.3945,
                "possession_lost": 12.0,
                "dispossessed": 1.6936,
                "duels_lost": 8.087,
                "aerial_lost": 1.0225,
                "total_contest": 4.6313,
                "won_contest": 2.5045,
                "ball_recovery": 3.5417,
                "challenges_lost": 2.2444,
                "fouls": 0.9997,
                "fouls_drawn": 1.7219,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.066,
                "tackles_won": 1.2791,
                "tackles": 1.9265,
                "clearances": 0.3795,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1027,
                "offsides": 0.1667,
                "ball_carries": 13.6126,
                "total_progression": 46.1535,
                "progressive_carries": 2.4535,
                "shots_off_target": 1.3955
              },
              "params": {
                "market_value_eur": 7600000,
                "quality_factor": 0.4939,
                "boost_factor": 0.999,
                "reference_quality": 0.505,
                "history_matches": 12,
                "history_shrink": 0.2941,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1293,
                "goals": 0.194,
                "goal_rate": 0.194,
                "shots_on_target": 0.4924,
                "total_shots": 1.8879,
                "expected_assists": 0.0982,
                "key_pass": 0.9631,
                "rating": 6.8717,
                "minutes": 73.61,
                "total_pass": 20.0368,
                "accurate_pass": 15.6457,
                "duels_won": 7.7421,
                "total_long_balls": 1.1685,
                "accurate_long_balls": 0.4762,
                "total_opp_half_passes": 14.6729,
                "accurate_opp_half_passes": 10.4807,
                "crosses_total": 2.0038,
                "crosses_accurate": 0.4314,
                "touches": 39.3945,
                "possession_lost": 12.0,
                "dispossessed": 1.6936,
                "duels_lost": 8.087,
                "aerial_lost": 1.0225,
                "total_contest": 4.6313,
                "won_contest": 2.5045,
                "ball_recovery": 3.5417,
                "challenges_lost": 2.2444,
                "fouls": 0.9997,
                "fouls_drawn": 1.7219,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.066,
                "tackles_won": 1.2791,
                "tackles": 1.9265,
                "clearances": 0.3795,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1027,
                "offsides": 0.1667,
                "ball_carries": 13.6126,
                "total_progression": 46.1535,
                "progressive_carries": 2.4535,
                "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.1274,
                "goals": 0.1911,
                "goal_rate": 0.1911,
                "shots_on_target": 0.485,
                "total_shots": 1.8596,
                "expected_assists": 0.0982,
                "key_pass": 0.9631,
                "rating": 6.8717,
                "minutes": 73.61,
                "total_pass": 20.0368,
                "accurate_pass": 15.6457,
                "duels_won": 7.7421,
                "total_long_balls": 1.1685,
                "accurate_long_balls": 0.4762,
                "total_opp_half_passes": 14.6729,
                "accurate_opp_half_passes": 10.4807,
                "crosses_total": 2.0038,
                "crosses_accurate": 0.4314,
                "touches": 39.3945,
                "possession_lost": 12.0,
                "dispossessed": 1.6936,
                "duels_lost": 8.087,
                "aerial_lost": 1.0225,
                "total_contest": 4.6313,
                "won_contest": 2.5045,
                "ball_recovery": 3.5417,
                "challenges_lost": 2.2444,
                "fouls": 0.9997,
                "fouls_drawn": 1.7219,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.066,
                "tackles_won": 1.2791,
                "tackles": 1.9265,
                "clearances": 0.3795,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1012,
                "offsides": 0.1667,
                "ball_carries": 13.6126,
                "total_progression": 46.1535,
                "progressive_carries": 2.4535,
                "shots_off_target": 1.3746,
                "duel_xg_multiplier": 0.985,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.19,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Facundo Garcés, Ville Koski",
                "opponent_faced": "Facundo Garcés, Ville Koski",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Facundo Garcés, Ville Koski",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.19,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.985,
                  "skill_edge": 0.0178,
                  "height_edge": -0.028,
                  "attacker_skill": 0.4939,
                  "defender_skill": 0.4543,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Facundo Garcés",
                      "market_value": 1300000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4374
                    },
                    {
                      "player": "Ville Koski",
                      "market_value": 4300000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4712
                    }
                  ],
                  "xg_override": 0.1274
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.8879,
                  "after": 1.8596
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.3955,
                  "after": 1.3746
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.4924,
                  "after": 0.485
                }
              ]
            },
            {
              "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.1274,
                "goal_rate": 0.1911,
                "goals": 0,
                "shots_on_target": 0.485,
                "total_shots": 1.8596,
                "expected_assists": 0.0982,
                "key_pass": 0.9631,
                "rating": 6.8717,
                "minutes": 73.61,
                "total_pass": 20.0368,
                "accurate_pass": 15.6457,
                "duels_won": 7.7421,
                "total_long_balls": 1.1685,
                "accurate_long_balls": 0.4762,
                "total_opp_half_passes": 14.6729,
                "accurate_opp_half_passes": 10.4807,
                "crosses_total": 2.0038,
                "crosses_accurate": 0.4314,
                "touches": 39.3945,
                "possession_lost": 12.0,
                "dispossessed": 1.6936,
                "duels_lost": 8.087,
                "aerial_lost": 1.0225,
                "total_contest": 4.6313,
                "won_contest": 2.5045,
                "ball_recovery": 3.5417,
                "challenges_lost": 2.2444,
                "fouls": 0.9997,
                "fouls_drawn": 1.7219,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.066,
                "tackles_won": 1.2791,
                "tackles": 1.9265,
                "clearances": 0.3795,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1012,
                "offsides": 0.1667,
                "ball_carries": 13.6126,
                "total_progression": 46.1535,
                "progressive_carries": 2.4535,
                "shots_off_target": 1.3746,
                "duel_xg_multiplier": 0.985,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.19,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Facundo Garcés, Ville Koski",
                "opponent_faced": "Facundo Garcés, Ville Koski",
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "expected_goals": 0.2296,
                "goal_rate": 0.1911,
                "goals": 0,
                "shots_on_target": 0.485,
                "total_shots": 1.8596,
                "expected_assists": 0.1579,
                "key_pass": 0.9631,
                "rating": 6.8717,
                "minutes": 73.61,
                "total_pass": 20.0368,
                "accurate_pass": 15.6457,
                "duels_won": 7.7421,
                "total_long_balls": 1.1685,
                "accurate_long_balls": 0.4762,
                "total_opp_half_passes": 14.6729,
                "accurate_opp_half_passes": 10.4807,
                "crosses_total": 2.0038,
                "crosses_accurate": 0.4314,
                "touches": 39.3945,
                "possession_lost": 12.0,
                "dispossessed": 1.6936,
                "duels_lost": 8.087,
                "aerial_lost": 1.0225,
                "total_contest": 4.6313,
                "won_contest": 2.5045,
                "ball_recovery": 3.5417,
                "challenges_lost": 2.2444,
                "fouls": 0.9997,
                "fouls_drawn": 1.7219,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.066,
                "tackles_won": 1.2791,
                "tackles": 1.9265,
                "clearances": 0.3795,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1824,
                "offsides": 0.1667,
                "ball_carries": 13.6126,
                "total_progression": 46.1535,
                "progressive_carries": 2.4535,
                "shots_off_target": 1.3746,
                "duel_xg_multiplier": 0.985,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.19,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Facundo Garcés, Ville Koski",
                "opponent_faced": "Facundo Garcés, Ville Koski",
                "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": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1274,
                  "after": 0.2296
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0982,
                  "after": 0.1579
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 4 by projected rating, fifa_overall 65.0)",
              "stats": {
                "expected_goals": 0.2296,
                "goal_rate": 0.1911,
                "goals": 0,
                "shots_on_target": 0.485,
                "total_shots": 1.8596,
                "expected_assists": 0.1579,
                "key_pass": 0.9631,
                "rating": 6.8717,
                "minutes": 73.61,
                "total_pass": 20.0368,
                "accurate_pass": 15.6457,
                "duels_won": 7.7421,
                "total_long_balls": 1.1685,
                "accurate_long_balls": 0.4762,
                "total_opp_half_passes": 14.6729,
                "accurate_opp_half_passes": 10.4807,
                "crosses_total": 2.0038,
                "crosses_accurate": 0.4314,
                "touches": 39.3945,
                "possession_lost": 12.0,
                "dispossessed": 1.6936,
                "duels_lost": 8.087,
                "aerial_lost": 1.0225,
                "total_contest": 4.6313,
                "won_contest": 2.5045,
                "ball_recovery": 3.5417,
                "challenges_lost": 2.2444,
                "fouls": 0.9997,
                "fouls_drawn": 1.7219,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.066,
                "tackles_won": 1.2791,
                "tackles": 1.9265,
                "clearances": 0.3795,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1824,
                "offsides": 0.1667,
                "ball_carries": 13.6126,
                "total_progression": 46.1535,
                "progressive_carries": 2.4535,
                "shots_off_target": 1.3746,
                "duel_xg_multiplier": 0.985,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.19,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Facundo Garcés, Ville Koski",
                "opponent_faced": "Facundo Garcés, Ville Koski",
                "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": 65.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": 7553,
                "fifa_rank": 11803.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 65.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.2296,
                "goal_rate": 0.1911,
                "goals": 1,
                "shots_on_target": 0.485,
                "total_shots": 1.8596,
                "expected_assists": 0.1579,
                "key_pass": 0.9631,
                "rating": 6.8717,
                "minutes": 73.61,
                "total_pass": 20.0368,
                "accurate_pass": 15.6457,
                "duels_won": 7.7421,
                "total_long_balls": 1.1685,
                "accurate_long_balls": 0.4762,
                "total_opp_half_passes": 14.6729,
                "accurate_opp_half_passes": 10.4807,
                "crosses_total": 2.0038,
                "crosses_accurate": 0.4314,
                "touches": 39.3945,
                "possession_lost": 12.0,
                "dispossessed": 1.6936,
                "duels_lost": 8.087,
                "aerial_lost": 1.0225,
                "total_contest": 4.6313,
                "won_contest": 2.5045,
                "ball_recovery": 3.5417,
                "challenges_lost": 2.2444,
                "fouls": 0.9997,
                "fouls_drawn": 1.7219,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.066,
                "tackles_won": 1.2791,
                "tackles": 1.9265,
                "clearances": 0.3795,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1824,
                "offsides": 0.1667,
                "ball_carries": 13.6126,
                "total_progression": 46.1535,
                "progressive_carries": 2.4535,
                "shots_off_target": 1.3746,
                "duel_xg_multiplier": 0.985,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.19,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Facundo Garcés, Ville Koski",
                "opponent_faced": "Facundo Garcés, Ville Koski",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.2051,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 0.8,
                "fifa_overall": 65.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 1,
                "goal_probability": 0.2051,
                "goal_rate": 0.1911,
                "scorer_weight": 0.287,
                "squad_weight_total": 1.6415,
                "weight_share": 0.1748,
                "finishing_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.2296,
                "goal_rate": 0.1911,
                "goals": 1,
                "shots_on_target": 0.485,
                "total_shots": 1.8596,
                "expected_assists": 0.1579,
                "key_pass": 0.9631,
                "rating": 6.8717,
                "minutes": 73.61,
                "total_pass": 20.0368,
                "accurate_pass": 15.6457,
                "duels_won": 7.7421,
                "total_long_balls": 1.1685,
                "accurate_long_balls": 0.4762,
                "total_opp_half_passes": 14.6729,
                "accurate_opp_half_passes": 10.4807,
                "crosses_total": 2.0038,
                "crosses_accurate": 0.4314,
                "touches": 39.3945,
                "possession_lost": 12.0,
                "dispossessed": 1.6936,
                "duels_lost": 8.087,
                "aerial_lost": 1.0225,
                "total_contest": 4.6313,
                "won_contest": 2.5045,
                "ball_recovery": 3.5417,
                "challenges_lost": 2.2444,
                "fouls": 0.9997,
                "fouls_drawn": 1.7219,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.066,
                "tackles_won": 1.2791,
                "tackles": 1.9265,
                "clearances": 0.3795,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1824,
                "offsides": 0.1667,
                "ball_carries": 13.6126,
                "total_progression": 46.1535,
                "progressive_carries": 2.4535,
                "shots_off_target": 1.3746,
                "duel_xg_multiplier": 0.985,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.19,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Facundo Garcés, Ville Koski",
                "opponent_faced": "Facundo Garcés, Ville Koski",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.2051,
                "projected_assists": 0,
                "assist_probability": 0.1461,
                "finishing_factor": 1.25,
                "creation_factor": 0.8,
                "fifa_overall": 65.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.1461,
                "assist_rate": 0.0,
                "provider_weight": 0.1263,
                "squad_weight_total": 1.2113,
                "weight_share": 0.1043,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 4,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "bench_players": {
        "Fran González": {
          "player_id": 1493226,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 13,
          "height": 199,
          "market_value": 2700000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.022,
            "rating": 6.8,
            "minutes": 4,
            "total_pass": 1,
            "accurate_pass": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "touches": 2,
            "clearances": 0,
            "ball_recovery": 0,
            "high_claims": 0,
            "punches": 0.0146,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.1171,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "bench_appearance_probability": 0.109,
            "bench_expected_minutes": 4.39,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.819,
            "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": 65.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 7595,
            "combined_rank_score": 6011.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 11814.0,
            "fifa_overall": 65.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8,
            "source_file": "data/player_rankings.csv",
            "player_name": "Fran González",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Tonny Vilhena",
                  "ranking": 7590
                },
                {
                  "player_name": "Etienne Camara",
                  "ranking": 7591
                },
                {
                  "player_name": "Zinedin Smajlović",
                  "ranking": 7592
                },
                {
                  "player_name": "Anthony Uribe",
                  "ranking": 7593
                },
                {
                  "player_name": "James McClean",
                  "ranking": 7594
                }
              ],
              "lower": [
                {
                  "player_name": "Michael Duffy",
                  "ranking": 7596
                },
                {
                  "player_name": "Rommell Ibarra",
                  "ranking": 7597
                },
                {
                  "player_name": "Dani Pacheco",
                  "ranking": 7598
                },
                {
                  "player_name": "Fredrik Ulvestad",
                  "ranking": 7599
                },
                {
                  "player_name": "Radosław Murawski",
                  "ranking": 7600
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "G_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 4.392222187561249,
            "bench_appearance_prob": 0.10873737216187492,
            "market_value_adjustment": 0.4374,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€2,700,000) scaled to 4.4 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position G (quality 0.44)",
              "stats": {
                "saves": 2.9,
                "goals_prevented": 0.45,
                "rating": 6.8,
                "minutes": 90.0,
                "total_pass": 27.0,
                "accurate_pass": 20.0,
                "total_long_balls": 8.0,
                "accurate_long_balls": 4.0,
                "touches": 32.0,
                "clearances": 0.9,
                "ball_recovery": 1.2,
                "high_claims": 0.5,
                "punches": 0.3,
                "aerial_won": 0.6,
                "sweeper_actions": 1.2,
                "sweeper_accurate": 0.7,
                "saves_inside_box": 1.2,
                "possession_lost": 2.4,
                "duels_won": 0.4,
                "duels_lost": 0.2,
                "total_contest": 0.4,
                "won_contest": 0.2,
                "fouls": 0.2,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 21.0,
                "accurate_own_half_passes": 16.0
              },
              "params": {
                "market_value_eur": 2700000,
                "quality_factor": 0.4374
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 90.0 to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0.1415,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4.39,
                "total_pass": 1.3177,
                "accurate_pass": 0.976,
                "total_long_balls": 0.3904,
                "accurate_long_balls": 0.1952,
                "touches": 1.5617,
                "clearances": 0.0439,
                "ball_recovery": 0.0586,
                "high_claims": 0.0244,
                "punches": 0.0146,
                "aerial_won": 0.0293,
                "sweeper_actions": 0.0586,
                "sweeper_accurate": 0.0342,
                "saves_inside_box": 0.0586,
                "possession_lost": 0.1171,
                "duels_won": 0.0195,
                "duels_lost": 0.0098,
                "total_contest": 0.0195,
                "won_contest": 0.0098,
                "fouls": 0.0098,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.0249,
                "accurate_own_half_passes": 0.7808,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              },
              "params": {
                "expected_minutes": 4.39,
                "projection_minutes": 90.0,
                "minutes_scale": 0.0488,
                "appearance_probability": 0.109
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0.1415,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4.39,
                "total_pass": 1.3177,
                "accurate_pass": 0.976,
                "total_long_balls": 0.3904,
                "accurate_long_balls": 0.1952,
                "touches": 1.5617,
                "clearances": 0.0439,
                "ball_recovery": 0.0586,
                "high_claims": 0.0244,
                "punches": 0.0146,
                "aerial_won": 0.0293,
                "sweeper_actions": 0.0586,
                "sweeper_accurate": 0.0342,
                "saves_inside_box": 0.0586,
                "possession_lost": 0.1171,
                "duels_won": 0.0195,
                "duels_lost": 0.0098,
                "total_contest": 0.0195,
                "won_contest": 0.0098,
                "fouls": 0.0098,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.0249,
                "accurate_own_half_passes": 0.7808,
                "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.1415,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4.39,
                "total_pass": 1.3177,
                "accurate_pass": 0.976,
                "total_long_balls": 0.3904,
                "accurate_long_balls": 0.1952,
                "touches": 1.5617,
                "clearances": 0.0439,
                "ball_recovery": 0.0586,
                "high_claims": 0.0244,
                "punches": 0.0146,
                "aerial_won": 0.0293,
                "sweeper_actions": 0.0586,
                "sweeper_accurate": 0.0342,
                "saves_inside_box": 0.0586,
                "possession_lost": 0.1171,
                "duels_won": 0.0195,
                "duels_lost": 0.0098,
                "total_contest": 0.0195,
                "won_contest": 0.0098,
                "fouls": 0.0098,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.0249,
                "accurate_own_half_passes": 0.7808,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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": 3,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 8 by projected rating, fifa_overall 65.0)",
              "stats": {
                "saves": 0.1415,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4.39,
                "total_pass": 1.3177,
                "accurate_pass": 0.976,
                "total_long_balls": 0.3904,
                "accurate_long_balls": 0.1952,
                "touches": 1.5617,
                "clearances": 0.0439,
                "ball_recovery": 0.0586,
                "high_claims": 0.0244,
                "punches": 0.0146,
                "aerial_won": 0.0293,
                "sweeper_actions": 0.0586,
                "sweeper_accurate": 0.0342,
                "saves_inside_box": 0.0586,
                "possession_lost": 0.1171,
                "duels_won": 0.0195,
                "duels_lost": 0.0098,
                "total_contest": 0.0195,
                "won_contest": 0.0098,
                "fouls": 0.0098,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.0249,
                "accurate_own_half_passes": 0.7808,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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": 65.0
              },
              "params": {
                "match_squad_rank": 8,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 7595,
                "fifa_rank": 11814.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 65.0
              }
            }
          ]
        },
        "José Ángel Carmona": {
          "player_id": 1015240,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 183,
          "market_value": 9300000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.6365,
            "minutes": 14,
            "total_pass": 6,
            "accurate_pass": 4,
            "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": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 11,
            "possession_lost": 2.6757,
            "dispossessed": 0.1217,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "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.005,
            "expected_assists": 0.0057,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 2,
            "total_progression": 12,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.313,
            "bench_expected_minutes": 13.88,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.819,
            "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": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 8,
                "rating": 6.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "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.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 18,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 7,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416349.0,
              "match_date": "2026-09-19",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 22,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0399,
                "expected_assists": 0.0011,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 19,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0449,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 1,
                "key_pass": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 22,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 1,
                "interceptions": 1,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083715.0,
              "match_date": "2026-05-23",
              "home_team": "Celta Vigo",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.4313,
                "total_shots": 0,
                "total_pass": 40,
                "accurate_pass": 35,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083702.0,
              "match_date": "2026-05-17",
              "home_team": "Sevilla",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 70,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0602,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 25,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083644.0,
              "match_date": "2026-05-13",
              "home_team": "Villarreal",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0716,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 32,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083587.0,
              "match_date": "2026-05-09",
              "home_team": "Sevilla",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 64,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1006,
                "expected_assists": 0.0131,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 29,
                "accurate_pass": 18,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083526.0,
              "match_date": "2026-05-04",
              "home_team": "Sevilla",
              "away_team": "Real Sociedad",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0538,
                "expected_assists": 0.0844,
                "total_shots": 1,
                "total_pass": 31,
                "accurate_pass": 22,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 995,
            "combined_rank_score": 607.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 1.0,
            "fifa_rank": 770.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6365,
            "source_file": "data/player_rankings.csv",
            "player_name": "José Ángel Carmona",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Saúl Ñíguez",
                  "ranking": 990
                },
                {
                  "player_name": "Abduvokhid Gulomov",
                  "ranking": 991
                },
                {
                  "player_name": "Danila Forov",
                  "ranking": 992
                },
                {
                  "player_name": "Bradley Lyons",
                  "ranking": 993
                },
                {
                  "player_name": "Dario Šarić",
                  "ranking": 994
                }
              ],
              "lower": [
                {
                  "player_name": "José Luis Gayà",
                  "ranking": 996
                },
                {
                  "player_name": "Rafael Bauzà",
                  "ranking": 997
                },
                {
                  "player_name": "Asier Osambela",
                  "ranking": 998
                },
                {
                  "player_name": "Nurbek Sarsenbaev",
                  "ranking": 999
                },
                {
                  "player_name": "Diyorbek Mamataliev",
                  "ranking": 1000
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "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.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 13.876230585396506,
            "bench_appearance_prob": 0.31255593569984114,
            "market_value_adjustment": 1.0003,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (40 historical appearances) to 13.9 expected mins (appearance prob 0.31)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.2735,
                "tackles": 0.708,
                "tackles_won": 0.4248,
                "clearances": 0.6308,
                "aerial_won": 0.2216,
                "total_shots": 0.2049,
                "rating": 6.6365,
                "minutes": 21.33,
                "total_pass": 8.4702,
                "accurate_pass": 6.4549,
                "duels_won": 1.6197,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3817,
                "total_own_half_passes": 3.3952,
                "accurate_own_half_passes": 2.7387,
                "total_opp_half_passes": 5.075,
                "accurate_opp_half_passes": 3.7163,
                "crosses_total": 0.4607,
                "crosses_accurate": 0.1106,
                "touches": 16.7607,
                "possession_lost": 4.1118,
                "dispossessed": 0.1217,
                "duels_lost": 1.4359,
                "aerial_lost": 0.2472,
                "total_contest": 0.2087,
                "won_contest": 0.0577,
                "ball_recovery": 1.0207,
                "challenges_lost": 0.3498,
                "fouls": 0.5663,
                "fouls_drawn": 0.8748,
                "blocks": 0.094,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0077,
                "expected_assists": 0.0088,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5125,
                "total_progression": 17.6837,
                "progressive_carries": 0.1851,
                "key_pass": 0.1786,
                "shots_off_target": 0.2049
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.1502,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1277,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "FC Barcelona",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.1085,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.0923,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.0784,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Real Madrid",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-05-13",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Espanyol",
                    "minutes": 64.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-05-04",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 7.4
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 0.4822,
                  "aerialWon": 0.4346,
                  "totalClearance_p90": 0.9243,
                  "totalTackle": 0.8522,
                  "totalTackle_p90": 1.844
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.2735387086868286,
                    "model_output": 0.2735,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4834
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.039
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.021
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.018
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0116
                        }
                      ],
                      "others": -0.0246,
                      "total": 0.2735,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.809438
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.106137
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.062033
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.056346
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.038278
                        }
                      ],
                      "others_margin": -0.086111
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.7080037593841553,
                    "model_output": 0.708,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7173
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0371
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0333
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0237
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0178
                        }
                      ],
                      "others": 0.0399,
                      "total": 0.708,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.727686
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.053902
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.048264
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.035721
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.027012
                        }
                      ],
                      "others_margin": 0.057948
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.42476800084114075,
                    "model_output": 0.4248,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4334
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.022
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0145
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0143
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0118
                        }
                      ],
                      "others": 0.0204,
                      "total": 0.4248,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.715292
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.054385
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.037537
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.037014
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.029537
                        }
                      ],
                      "others_margin": 0.049064
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 0.6307599544525146,
                    "model_output": 0.6308,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.1315
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.3501
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0904
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.065
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0521
                        }
                      ],
                      "others": -0.0958,
                      "total": 0.6308,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.978277
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.318331
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.101745
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.080232
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.069222
                        }
                      ],
                      "others_margin": -0.141406
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.22162717580795288,
                    "model_output": 0.2216,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7941
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.2144
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0546
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0449
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0152
                        }
                      ],
                      "others": -0.0553,
                      "total": 0.2216,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.867
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.466023
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.163806
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.158433
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.056381
                        }
                      ],
                      "others_margin": -0.222472
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.20488055050373077,
                    "model_output": 0.2049,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1758
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.08
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.017
                        },
                        {
                          "name": "rating",
                          "contribution": -0.017
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0148
                        }
                      ],
                      "others": -0.0057,
                      "total": 0.2049,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.175821
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.079981
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.016965
                        },
                        {
                          "name": "rating",
                          "margin": -0.016964
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.014783
                        }
                      ],
                      "others_margin": -0.005784
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.636542797088623,
                    "model_output": 6.6365,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": -0.0465
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0229
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0209
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0168
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0119
                        }
                      ],
                      "others": -0.0433,
                      "total": 6.6365,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": -0.046455
                        },
                        {
                          "name": "rating",
                          "margin": -0.022894
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.020923
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.016777
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.011861
                        }
                      ],
                      "others_margin": -0.043328
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 40,
                  "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.0003, quality 0.514)",
              "stats": {
                "interceptions": 0.2736,
                "tackles": 0.7082,
                "tackles_won": 0.4249,
                "clearances": 0.6309,
                "aerial_won": 0.2217,
                "total_shots": 0.205,
                "rating": 6.6365,
                "minutes": 21.33,
                "total_pass": 8.4727,
                "accurate_pass": 6.4568,
                "duels_won": 1.6202,
                "total_long_balls": 0.7392,
                "accurate_long_balls": 0.3818,
                "total_own_half_passes": 3.3962,
                "accurate_own_half_passes": 2.7395,
                "total_opp_half_passes": 5.0765,
                "accurate_opp_half_passes": 3.7174,
                "crosses_total": 0.4608,
                "crosses_accurate": 0.1106,
                "touches": 16.7657,
                "possession_lost": 4.113,
                "dispossessed": 0.1217,
                "duels_lost": 1.4363,
                "aerial_lost": 0.2473,
                "total_contest": 0.2088,
                "won_contest": 0.0577,
                "ball_recovery": 1.021,
                "challenges_lost": 0.3499,
                "fouls": 0.5665,
                "fouls_drawn": 0.8751,
                "blocks": 0.094,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0077,
                "expected_assists": 0.0088,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5136,
                "total_progression": 17.689,
                "progressive_carries": 0.1852,
                "key_pass": 0.1787,
                "shots_off_target": 0.205
              },
              "params": {
                "market_value_eur": 9300000,
                "quality_factor": 0.5142,
                "boost_factor": 1.0003,
                "reference_quality": 0.505,
                "history_matches": 40,
                "history_shrink": 0.1111,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 21.3 to 13.9 expected minutes (appearance prob 0.31)",
              "stats": {
                "interceptions": 0.178,
                "tackles": 0.4607,
                "tackles_won": 0.2764,
                "clearances": 0.4104,
                "aerial_won": 0.1442,
                "total_shots": 0.1334,
                "rating": 6.6365,
                "minutes": 13.88,
                "total_pass": 5.5119,
                "accurate_pass": 4.2005,
                "duels_won": 1.054,
                "total_long_balls": 0.4809,
                "accurate_long_balls": 0.2484,
                "total_own_half_passes": 2.2094,
                "accurate_own_half_passes": 1.7822,
                "total_opp_half_passes": 3.3025,
                "accurate_opp_half_passes": 2.4184,
                "crosses_total": 0.2998,
                "crosses_accurate": 0.072,
                "touches": 10.9069,
                "possession_lost": 2.6757,
                "dispossessed": 0.1217,
                "duels_lost": 0.9344,
                "aerial_lost": 0.2473,
                "total_contest": 0.1358,
                "won_contest": 0.0375,
                "ball_recovery": 0.6642,
                "challenges_lost": 0.3499,
                "fouls": 0.3685,
                "fouls_drawn": 0.5693,
                "blocks": 0.0612,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.005,
                "expected_assists": 0.0057,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.2858,
                "total_progression": 11.5076,
                "progressive_carries": 0.1205,
                "key_pass": 0.1163,
                "shots_off_target": 0.1334,
                "bench_appearance_probability": 0.313,
                "bench_expected_minutes": 13.88
              },
              "params": {
                "expected_minutes": 13.88,
                "projection_minutes": 21.33,
                "minutes_scale": 0.6505,
                "appearance_probability": 0.313
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.178,
                "tackles": 0.4607,
                "tackles_won": 0.2764,
                "clearances": 0.4104,
                "aerial_won": 0.1442,
                "total_shots": 0.1334,
                "rating": 6.6365,
                "minutes": 13.88,
                "total_pass": 5.5119,
                "accurate_pass": 4.2005,
                "duels_won": 1.054,
                "total_long_balls": 0.4809,
                "accurate_long_balls": 0.2484,
                "total_own_half_passes": 2.2094,
                "accurate_own_half_passes": 1.7822,
                "total_opp_half_passes": 3.3025,
                "accurate_opp_half_passes": 2.4184,
                "crosses_total": 0.2998,
                "crosses_accurate": 0.072,
                "touches": 10.9069,
                "possession_lost": 2.6757,
                "dispossessed": 0.1217,
                "duels_lost": 0.9344,
                "aerial_lost": 0.2473,
                "total_contest": 0.1358,
                "won_contest": 0.0375,
                "ball_recovery": 0.6642,
                "challenges_lost": 0.3499,
                "fouls": 0.3685,
                "fouls_drawn": 0.5693,
                "blocks": 0.0612,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.005,
                "expected_assists": 0.0057,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.2858,
                "total_progression": 11.5076,
                "progressive_carries": 0.1205,
                "key_pass": 0.1163,
                "shots_off_target": 0.1334,
                "bench_appearance_probability": 0.313,
                "bench_expected_minutes": 13.88
              },
              "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.178,
                "tackles": 0.4607,
                "tackles_won": 0.2764,
                "clearances": 0.4104,
                "aerial_won": 0.1442,
                "total_shots": 0.1334,
                "rating": 6.6365,
                "minutes": 13.88,
                "total_pass": 5.5119,
                "accurate_pass": 4.2005,
                "duels_won": 1.054,
                "total_long_balls": 0.4809,
                "accurate_long_balls": 0.2484,
                "total_own_half_passes": 2.2094,
                "accurate_own_half_passes": 1.7822,
                "total_opp_half_passes": 3.3025,
                "accurate_opp_half_passes": 2.4184,
                "crosses_total": 0.2998,
                "crosses_accurate": 0.072,
                "touches": 10.9069,
                "possession_lost": 2.6757,
                "dispossessed": 0.1217,
                "duels_lost": 0.9344,
                "aerial_lost": 0.2473,
                "total_contest": 0.1358,
                "won_contest": 0.0375,
                "ball_recovery": 0.6642,
                "challenges_lost": 0.3499,
                "fouls": 0.3685,
                "fouls_drawn": 0.5693,
                "blocks": 0.0612,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.005,
                "expected_assists": 0.0057,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.2858,
                "total_progression": 11.5076,
                "progressive_carries": 0.1205,
                "key_pass": 0.1163,
                "shots_off_target": 0.1334,
                "bench_appearance_probability": 0.313,
                "bench_expected_minutes": 13.88,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.313,
                "projected_substitutes": 3,
                "scoreline_reset": true
              }
            },
            {
              "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": {
                "interceptions": 0.178,
                "tackles": 0.4607,
                "tackles_won": 0.2764,
                "clearances": 0.4104,
                "aerial_won": 0.1442,
                "total_shots": 0.1334,
                "rating": 6.6365,
                "minutes": 13.88,
                "total_pass": 5.5119,
                "accurate_pass": 4.2005,
                "duels_won": 1.054,
                "total_long_balls": 0.4809,
                "accurate_long_balls": 0.2484,
                "total_own_half_passes": 2.2094,
                "accurate_own_half_passes": 1.7822,
                "total_opp_half_passes": 3.3025,
                "accurate_opp_half_passes": 2.4184,
                "crosses_total": 0.2998,
                "crosses_accurate": 0.072,
                "touches": 10.9069,
                "possession_lost": 2.6757,
                "dispossessed": 0.1217,
                "duels_lost": 0.9344,
                "aerial_lost": 0.2473,
                "total_contest": 0.1358,
                "won_contest": 0.0375,
                "ball_recovery": 0.6642,
                "challenges_lost": 0.3499,
                "fouls": 0.3685,
                "fouls_drawn": 0.5693,
                "blocks": 0.0612,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.005,
                "expected_assists": 0.0057,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.2858,
                "total_progression": 11.5076,
                "progressive_carries": 0.1205,
                "key_pass": 0.1163,
                "shots_off_target": 0.1334,
                "bench_appearance_probability": 0.313,
                "bench_expected_minutes": 13.88,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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": 80.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 995,
                "fifa_rank": 770.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            }
          ]
        },
        "Andrés Castrin": {
          "player_id": 1428699,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 5,
          "height": 188,
          "market_value": 8700000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.7552,
            "minutes": 14,
            "total_pass": 5,
            "accurate_pass": 4,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 8,
            "possession_lost": 0.8095,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "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.0072,
            "expected_assists": 0.0014,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 1,
            "total_progression": 6,
            "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.819,
            "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": 73.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16421093.0,
              "match_date": "2026-11-01 13:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Getafe",
              "away_team": "Sevilla",
              "home_score_current": 3.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "lineup.csv"
            },
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0992,
                "expected_assists": 0.0137,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 2,
                "total_pass": 46,
                "accurate_pass": 40,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 6,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 5.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1707,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 37,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 6,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063.0,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 90,
                "rating": 5.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0089,
                "total_shots": 0,
                "total_pass": 52,
                "accurate_pass": 45,
                "interceptions": 1,
                "clearances": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416349.0,
              "match_date": "2026-09-19",
              "home_team": "Sevilla",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 17,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0087,
                "total_shots": 0,
                "total_pass": 57,
                "accurate_pass": 51,
                "tackles": 2,
                "interceptions": 2,
                "clearances": 9,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1562,
                "expected_assists": 0.0106,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 38,
                "accurate_pass": 32,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 6,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 30,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0215,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 2,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0263,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 38,
                "key_pass": 2,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0092,
                "total_shots": 0,
                "total_pass": 46,
                "accurate_pass": 39,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3967,
            "combined_rank_score": 1939.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 359.0,
            "sofascore_rating": 6.9789,
            "sofascore_appearances": 19.0,
            "fifa_rank": 3519.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7552,
            "source_file": "data/player_rankings.csv",
            "player_name": "Andres Castrin",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Milot Rashica",
                  "ranking": 3962
                },
                {
                  "player_name": "Jeppe Tverskov",
                  "ranking": 3963
                },
                {
                  "player_name": "Cristian Espinoza",
                  "ranking": 3964
                },
                {
                  "player_name": "Gonzalo Valle",
                  "ranking": 3965
                },
                {
                  "player_name": "Marcel Hartel",
                  "ranking": 3966
                }
              ],
              "lower": [
                {
                  "player_name": "Thiago Fernandez",
                  "ranking": 3968
                },
                {
                  "player_name": "Sam Surridge",
                  "ranking": 3969
                },
                {
                  "player_name": "Kévin Denkey",
                  "ranking": 3970
                },
                {
                  "player_name": "Sasha Marcich",
                  "ranking": 3971
                },
                {
                  "player_name": "Joe Bell",
                  "ranking": 3972
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.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.847985272763946,
            "bench_appearance_prob": 0.3112720578529066,
            "market_value_adjustment": 1.0001,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (28 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.4045,
                "tackles": 0.4669,
                "tackles_won": 0.2733,
                "clearances": 1.8416,
                "aerial_won": 0.5685,
                "total_shots": 0.1736,
                "rating": 6.7552,
                "minutes": 25.09,
                "total_pass": 9.0746,
                "accurate_pass": 8.1037,
                "duels_won": 1.3682,
                "total_long_balls": 1.3072,
                "accurate_long_balls": 0.9882,
                "total_own_half_passes": 6.1979,
                "accurate_own_half_passes": 5.7272,
                "total_opp_half_passes": 2.8768,
                "accurate_opp_half_passes": 2.3765,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 13.9431,
                "possession_lost": 1.4665,
                "dispossessed": 0.0,
                "duels_lost": 1.2906,
                "aerial_lost": 0.7118,
                "total_contest": 0.4636,
                "won_contest": 0.2428,
                "ball_recovery": 1.4393,
                "challenges_lost": 0.1152,
                "fouls": 0.2428,
                "fouls_drawn": 0.1595,
                "blocks": 0.098,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0131,
                "expected_assists": 0.0025,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.16,
                "total_progression": 11.6999,
                "progressive_carries": 0.1479,
                "key_pass": 0.0,
                "shots_off_target": 0.1736
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1516,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1289,
                    "rating": 5.8
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Levante UD",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1095,
                    "rating": 5.8
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0931,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0791,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0673,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 30.0,
                    "is_starting": false,
                    "weight": 0.0572,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0486,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0413,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0351,
                    "rating": 7.9
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 4.5858,
                  "aerialWon": 1.1037,
                  "totalClearance_p90": 5.1458,
                  "totalTackle": 1.1315,
                  "totalTackle_p90": 1.3169
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.40452373027801514,
                    "model_output": 0.4045,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4628
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.011
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0091
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0082
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0076
                        }
                      ],
                      "others": -0.0215,
                      "total": 0.4045,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.757804
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.026697
                        },
                        {
                          "name": "duelWon_p90",
                          "margin": -0.021871
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.019683
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": 0.018053
                        }
                      ],
                      "others_margin": -0.051834
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.46691054105758667,
                    "model_output": 0.4669,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7567
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0333
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0247
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0217
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0177
                        }
                      ],
                      "others": -0.0665,
                      "total": 0.4669,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.788235
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.054263
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.042261
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.038656
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.032593
                        }
                      ],
                      "others_margin": -0.133112
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.27333375811576843,
                    "model_output": 0.2733,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4783
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0248
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0147
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0113
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0085
                        }
                      ],
                      "others": -0.0373,
                      "total": 0.2733,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.829908
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.0693
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.043513
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.034843
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.027047
                        }
                      ],
                      "others_margin": -0.127838
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.8416074514389038,
                    "model_output": 1.8416,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.077
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.2404
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.1092
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0819
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0818
                        }
                      ],
                      "others": -0.0104,
                      "total": 1.8416,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.936683
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.165178
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.066849
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.047363
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.045168
                        }
                      ],
                      "others_margin": -0.005619
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.5685473084449768,
                    "model_output": 0.5685,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7776
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0551
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.039
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0251
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0156
                        }
                      ],
                      "others": -0.0482,
                      "total": 0.5685,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.83869
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.097627
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.070077
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.042735
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.02556
                        }
                      ],
                      "others_margin": -0.08132
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.1736418753862381,
                    "model_output": 0.1736,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2285
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0198
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0169
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0151
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0107
                        }
                      ],
                      "others": -0.0504,
                      "total": 0.1736,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.228475
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.019762
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.016886
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.015128
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": -0.010657
                        }
                      ],
                      "others_margin": -0.050471
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.755177974700928,
                    "model_output": 6.7552,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0156
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0126
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.01
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0096
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0075
                        }
                      ],
                      "others": -0.0033,
                      "total": 6.7552,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.015605
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.012578
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.01002
                        },
                        {
                          "name": "duelWon_p90",
                          "margin": -0.00955
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.007535
                        }
                      ],
                      "others_margin": -0.003384
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 28,
                  "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.0001, quality 0.507)",
              "stats": {
                "interceptions": 0.4046,
                "tackles": 0.467,
                "tackles_won": 0.2734,
                "clearances": 1.8418,
                "aerial_won": 0.5686,
                "total_shots": 0.1737,
                "rating": 6.7552,
                "minutes": 25.09,
                "total_pass": 9.0755,
                "accurate_pass": 8.1045,
                "duels_won": 1.3683,
                "total_long_balls": 1.3073,
                "accurate_long_balls": 0.9883,
                "total_own_half_passes": 6.1985,
                "accurate_own_half_passes": 5.7278,
                "total_opp_half_passes": 2.8771,
                "accurate_opp_half_passes": 2.3767,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 13.9445,
                "possession_lost": 1.4666,
                "dispossessed": 0.0,
                "duels_lost": 1.2907,
                "aerial_lost": 0.7119,
                "total_contest": 0.4636,
                "won_contest": 0.2428,
                "ball_recovery": 1.4394,
                "challenges_lost": 0.1152,
                "fouls": 0.2428,
                "fouls_drawn": 0.1595,
                "blocks": 0.098,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0131,
                "expected_assists": 0.0025,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.1602,
                "total_progression": 11.7011,
                "progressive_carries": 0.1479,
                "key_pass": 0.0,
                "shots_off_target": 0.1736
              },
              "params": {
                "market_value_eur": 8700000,
                "quality_factor": 0.5071,
                "boost_factor": 1.0001,
                "reference_quality": 0.505,
                "history_matches": 28,
                "history_shrink": 0.1515,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 25.1 to 13.8 expected minutes (appearance prob 0.31)",
              "stats": {
                "interceptions": 0.2233,
                "tackles": 0.2578,
                "tackles_won": 0.1509,
                "clearances": 1.0165,
                "aerial_won": 0.3138,
                "total_shots": 0.0959,
                "rating": 6.7552,
                "minutes": 13.85,
                "total_pass": 5.0091,
                "accurate_pass": 4.4731,
                "duels_won": 0.7552,
                "total_long_balls": 0.7215,
                "accurate_long_balls": 0.5455,
                "total_own_half_passes": 3.4212,
                "accurate_own_half_passes": 3.1614,
                "total_opp_half_passes": 1.588,
                "accurate_opp_half_passes": 1.3118,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 7.6964,
                "possession_lost": 0.8095,
                "dispossessed": 0.0,
                "duels_lost": 0.7124,
                "aerial_lost": 0.7119,
                "total_contest": 0.2559,
                "won_contest": 0.134,
                "ball_recovery": 0.7945,
                "challenges_lost": 0.1152,
                "fouls": 0.134,
                "fouls_drawn": 0.088,
                "blocks": 0.0541,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0072,
                "expected_assists": 0.0014,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 1.1923,
                "total_progression": 6.4582,
                "progressive_carries": 0.0816,
                "key_pass": 0.0,
                "shots_off_target": 0.0958,
                "bench_appearance_probability": 0.311,
                "bench_expected_minutes": 13.85
              },
              "params": {
                "expected_minutes": 13.85,
                "projection_minutes": 25.09,
                "minutes_scale": 0.5519,
                "appearance_probability": 0.311
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.2233,
                "tackles": 0.2578,
                "tackles_won": 0.1509,
                "clearances": 1.0165,
                "aerial_won": 0.3138,
                "total_shots": 0.0959,
                "rating": 6.7552,
                "minutes": 13.85,
                "total_pass": 5.0091,
                "accurate_pass": 4.4731,
                "duels_won": 0.7552,
                "total_long_balls": 0.7215,
                "accurate_long_balls": 0.5455,
                "total_own_half_passes": 3.4212,
                "accurate_own_half_passes": 3.1614,
                "total_opp_half_passes": 1.588,
                "accurate_opp_half_passes": 1.3118,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 7.6964,
                "possession_lost": 0.8095,
                "dispossessed": 0.0,
                "duels_lost": 0.7124,
                "aerial_lost": 0.7119,
                "total_contest": 0.2559,
                "won_contest": 0.134,
                "ball_recovery": 0.7945,
                "challenges_lost": 0.1152,
                "fouls": 0.134,
                "fouls_drawn": 0.088,
                "blocks": 0.0541,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0072,
                "expected_assists": 0.0014,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 1.1923,
                "total_progression": 6.4582,
                "progressive_carries": 0.0816,
                "key_pass": 0.0,
                "shots_off_target": 0.0958,
                "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.2233,
                "tackles": 0.2578,
                "tackles_won": 0.1509,
                "clearances": 1.0165,
                "aerial_won": 0.3138,
                "total_shots": 0.0959,
                "rating": 6.7552,
                "minutes": 13.85,
                "total_pass": 5.0091,
                "accurate_pass": 4.4731,
                "duels_won": 0.7552,
                "total_long_balls": 0.7215,
                "accurate_long_balls": 0.5455,
                "total_own_half_passes": 3.4212,
                "accurate_own_half_passes": 3.1614,
                "total_opp_half_passes": 1.588,
                "accurate_opp_half_passes": 1.3118,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 7.6964,
                "possession_lost": 0.8095,
                "dispossessed": 0.0,
                "duels_lost": 0.7124,
                "aerial_lost": 0.7119,
                "total_contest": 0.2559,
                "won_contest": 0.134,
                "ball_recovery": 0.7945,
                "challenges_lost": 0.1152,
                "fouls": 0.134,
                "fouls_drawn": 0.088,
                "blocks": 0.0541,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0072,
                "expected_assists": 0.0014,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 1.1923,
                "total_progression": 6.4582,
                "progressive_carries": 0.0816,
                "key_pass": 0.0,
                "shots_off_target": 0.0958,
                "bench_appearance_probability": 0.311,
                "bench_expected_minutes": 13.85,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.311,
                "projected_substitutes": 3,
                "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 73.0)",
              "stats": {
                "interceptions": 0.2233,
                "tackles": 0.2578,
                "tackles_won": 0.1509,
                "clearances": 1.0165,
                "aerial_won": 0.3138,
                "total_shots": 0.0959,
                "rating": 6.7552,
                "minutes": 13.85,
                "total_pass": 5.0091,
                "accurate_pass": 4.4731,
                "duels_won": 0.7552,
                "total_long_balls": 0.7215,
                "accurate_long_balls": 0.5455,
                "total_own_half_passes": 3.4212,
                "accurate_own_half_passes": 3.1614,
                "total_opp_half_passes": 1.588,
                "accurate_opp_half_passes": 1.3118,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 7.6964,
                "possession_lost": 0.8095,
                "dispossessed": 0.0,
                "duels_lost": 0.7124,
                "aerial_lost": 0.7119,
                "total_contest": 0.2559,
                "won_contest": 0.134,
                "ball_recovery": 0.7945,
                "challenges_lost": 0.1152,
                "fouls": 0.134,
                "fouls_drawn": 0.088,
                "blocks": 0.0541,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0072,
                "expected_assists": 0.0014,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 1.1923,
                "total_progression": 6.4582,
                "progressive_carries": 0.0816,
                "key_pass": 0.0,
                "shots_off_target": 0.0958,
                "bench_appearance_probability": 0.311,
                "bench_expected_minutes": 13.85,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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": 73.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": 3967,
                "fifa_rank": 3519.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 73.0
              }
            }
          ]
        },
        "Manu Bueno": {
          "player_id": 1142094,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 14,
          "height": 178,
          "market_value": 1500000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.019,
            "assist_rate": 0.0232,
            "assists": 0,
            "expected_goals": 0.0316,
            "goal_rate": 0.0251,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6891,
            "minutes": 15,
            "total_pass": 8,
            "accurate_pass": 6,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 4,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 1.9319,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0393,
            "ball_carries": 3,
            "total_progression": 17,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.692,
            "bench_expected_minutes": 14.84,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.819,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0309,
            "projected_assists": 0,
            "assist_probability": 0.0187,
            "finishing_factor": 0.9973,
            "creation_factor": 1.0909,
            "fifa_overall": 67.0
          },
          "latest_10_games": [
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 19,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0382,
                "expected_assists": 0.0038,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 17,
                "accurate_pass": 15,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 34,
                "rating": 7.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.118,
                "expected_assists": 0.0056,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 15,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 19,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0371,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 3,
                "key_pass": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 8,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0441,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083265.0,
              "match_date": "2026-04-23",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 64,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.005,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 16,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083161.0,
              "match_date": "2026-04-11",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 70,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0176,
                "expected_assists": 0.0279,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 25,
                "accurate_pass": 20,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081814.0,
              "match_date": "2026-04-05",
              "home_team": "Real Oviedo",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 45,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0034,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 9,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083617.0,
              "match_date": "2026-03-15",
              "home_team": "FC Barcelona",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 12,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083127.0,
              "match_date": "2026-01-24",
              "home_team": "Sevilla",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 17,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 4,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083179.0,
              "match_date": "2025-12-14",
              "home_team": "Sevilla",
              "away_team": "Real Oviedo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1495,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 33,
                "key_pass": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 6557,
            "combined_rank_score": 4873.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 336.0,
            "sofascore_rating": 7.0,
            "sofascore_appearances": 1.0,
            "fifa_rank": 9410.0,
            "fifa_overall": 67.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6891,
            "source_file": "data/player_rankings.csv",
            "player_name": "Manu Bueno",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Xavi Espart",
                  "ranking": 6552
                },
                {
                  "player_name": "Maximilian Rohr",
                  "ranking": 6553
                },
                {
                  "player_name": "Ransford-Yeboah Königsdörffer",
                  "ranking": 6554
                },
                {
                  "player_name": "William Bøving",
                  "ranking": 6555
                },
                {
                  "player_name": "Sander Tangvik",
                  "ranking": 6556
                }
              ],
              "lower": [
                {
                  "player_name": "Armindo Sieb",
                  "ranking": 6558
                },
                {
                  "player_name": "Rav van den Berg",
                  "ranking": 6559
                },
                {
                  "player_name": "Laurent Jans",
                  "ranking": 6560
                },
                {
                  "player_name": "Lukas Pinckert",
                  "ranking": 6561
                },
                {
                  "player_name": "Tom Zimmerschied",
                  "ranking": 6562
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.751,
          "history_matches": 12,
          "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": 12,
            "data_confidence": 0.751,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 14.84,
            "bench_appearance_prob": 0.692,
            "market_value_adjustment": 0.994,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 9.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "Bench projection scaled from XGBoost M_service (12 historical appearances) to 14.8 expected mins (appearance prob 0.69); FBref playing time empirical prior: 1.0 sub appearances, 9.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.2398,
                "expected_assists": 0.0257,
                "assists": 0.035,
                "assist_rate": 0.035,
                "expected_goals": 0.0383,
                "goals": 0.0379,
                "goal_rate": 0.0379,
                "shots_on_target": 0.1266,
                "total_shots": 0.3989,
                "rating": 6.6891,
                "minutes": 22.28,
                "total_pass": 11.5077,
                "accurate_pass": 9.6412,
                "duels_won": 1.5967,
                "total_long_balls": 1.1129,
                "accurate_long_balls": 0.7688,
                "total_own_half_passes": 4.0953,
                "accurate_own_half_passes": 3.3982,
                "total_opp_half_passes": 7.4124,
                "accurate_opp_half_passes": 6.243,
                "crosses_total": 0.202,
                "crosses_accurate": 0.0433,
                "touches": 15.5647,
                "possession_lost": 2.918,
                "dispossessed": 0.0,
                "duels_lost": 1.3433,
                "aerial_won": 0.3816,
                "aerial_lost": 0.1349,
                "interceptions": 0.0,
                "tackles_won": 0.5307,
                "tackles": 0.6986,
                "clearances": 0.1812,
                "total_contest": 0.4805,
                "won_contest": 0.1868,
                "challenges_lost": 0.202,
                "fouls": 0.7127,
                "fouls_drawn": 0.3298,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0476,
                "ball_carries": 4.3901,
                "total_progression": 25.4674,
                "progressive_carries": 0.6986,
                "shots_off_target": 0.2723
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.1749,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 34.0,
                    "is_starting": false,
                    "weight": 0.1486,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.1263,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.1074,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-04-23",
                    "opponent": "Levante UD",
                    "minutes": 64.0,
                    "is_starting": true,
                    "weight": 0.0913,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-04-11",
                    "opponent": "Atlético Madrid",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.0776,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-04-05",
                    "opponent": "Real Oviedo",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.066,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-03-15",
                    "opponent": "FC Barcelona",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.0561,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-01-24",
                    "opponent": "Athletic Club",
                    "minutes": 17.0,
                    "is_starting": false,
                    "weight": 0.0477,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2025-12-14",
                    "opponent": "Real Oviedo",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0405,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 12.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.579,
                  "creative_index": 0.0955,
                  "expectedGoals": 0.0265,
                  "expectedAssists": 0.0209,
                  "keyPass": 0.2074
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.23980849981307983,
                    "model_output": 0.2398,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4347
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0507
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0413
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0343
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0165
                        }
                      ],
                      "others": -0.0729,
                      "total": 0.2398,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.67005
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.117958
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.107516
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.09924
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.051484
                        }
                      ],
                      "others_margin": -0.265369
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.025704286992549896,
                    "model_output": 0.0257,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0346
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0089
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0068
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0026
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0017
                        }
                      ],
                      "others": -0.0044,
                      "total": 0.0257,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.524972
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.195002
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.17949
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.077773
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.055134
                        }
                      ],
                      "others_margin": -0.159804
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.03496303781867027,
                    "model_output": 0.035,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0223
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0065
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0055
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0049
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0027
                        }
                      ],
                      "others": -0.0082,
                      "total": 0.035,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.303644
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.109507
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.102603
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.102124
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.060354
                        }
                      ],
                      "others_margin": -0.21176
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.03827457129955292,
                    "model_output": 0.0383,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0359
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.011
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0063
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0059
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0018
                        }
                      ],
                      "others": -0.0088,
                      "total": 0.0383,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.496067
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.21905
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.131426
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.122351
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.039988
                        }
                      ],
                      "others_margin": -0.208953
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.037924058735370636,
                    "model_output": 0.0379,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0386
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0084
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0065
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0043
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0022
                        }
                      ],
                      "others": -0.0053,
                      "total": 0.0379,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.525305
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.162998
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.147559
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.099121
                        },
                        {
                          "name": "shotValueNormalized",
                          "margin": -0.049032
                        }
                      ],
                      "others_margin": -0.128011
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.1266295462846756,
                    "model_output": 0.1266,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1305
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0375
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0152
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0083
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0084
                        }
                      ],
                      "others": -0.0248,
                      "total": 0.1266,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.528789
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.223148
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.106945
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.059891
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.056863
                        }
                      ],
                      "others_margin": -0.178276
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.398913711309433,
                    "model_output": 0.3989,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.392
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1913
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0338
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0215
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0209
                        }
                      ],
                      "others": -0.0359,
                      "total": 0.3989,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.391951
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.191283
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.033802
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.021492
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.020917
                        }
                      ],
                      "others_margin": -0.036014
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.6890997886657715,
                    "model_output": 6.6891,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0756
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0305
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0164
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0109
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0096
                        }
                      ],
                      "others": -0.0253,
                      "total": 6.6891,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.075629
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.030505
                        },
                        {
                          "name": "rating",
                          "margin": -0.016361
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.010946
                        },
                        {
                          "name": "shotValueNormalized",
                          "margin": -0.00959
                        }
                      ],
                      "others_margin": -0.025275
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 12,
                  "role_matches": 10,
                  "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": {
                "key_pass": 0.2384,
                "expected_assists": 0.0256,
                "assists": 0.0348,
                "assist_rate": 0.0348,
                "expected_goals": 0.038,
                "goals": 0.0377,
                "goal_rate": 0.0377,
                "shots_on_target": 0.1259,
                "total_shots": 0.3966,
                "rating": 6.6891,
                "minutes": 22.28,
                "total_pass": 11.4387,
                "accurate_pass": 9.5834,
                "duels_won": 1.5871,
                "total_long_balls": 1.1062,
                "accurate_long_balls": 0.7642,
                "total_own_half_passes": 4.0707,
                "accurate_own_half_passes": 3.3778,
                "total_opp_half_passes": 7.3679,
                "accurate_opp_half_passes": 6.2055,
                "crosses_total": 0.2008,
                "crosses_accurate": 0.043,
                "touches": 15.4713,
                "possession_lost": 2.9005,
                "dispossessed": 0.0,
                "duels_lost": 1.3352,
                "aerial_won": 0.3793,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.5275,
                "tackles": 0.6944,
                "clearances": 0.1801,
                "total_contest": 0.4776,
                "won_contest": 0.1857,
                "challenges_lost": 0.2008,
                "fouls": 0.7084,
                "fouls_drawn": 0.3278,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0473,
                "ball_carries": 4.3638,
                "total_progression": 25.3146,
                "progressive_carries": 0.6944,
                "shots_off_target": 0.2707
              },
              "params": {
                "market_value_eur": 1500000,
                "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.0013)",
              "stats": {
                "key_pass": 0.2384,
                "expected_assists": 0.0256,
                "assists": 0.0348,
                "assist_rate": 0.0348,
                "expected_goals": 0.038,
                "goals": 0.0377,
                "goal_rate": 0.0377,
                "shots_on_target": 0.1257,
                "total_shots": 0.3961,
                "rating": 6.6891,
                "minutes": 22.28,
                "total_pass": 11.4387,
                "accurate_pass": 9.5834,
                "duels_won": 1.5871,
                "total_long_balls": 1.1062,
                "accurate_long_balls": 0.7642,
                "total_own_half_passes": 4.0707,
                "accurate_own_half_passes": 3.3778,
                "total_opp_half_passes": 7.3679,
                "accurate_opp_half_passes": 6.2055,
                "crosses_total": 0.2005,
                "crosses_accurate": 0.043,
                "touches": 15.4713,
                "possession_lost": 2.9005,
                "dispossessed": 0.0,
                "duels_lost": 1.3352,
                "aerial_won": 0.3793,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.53,
                "tackles": 0.6944,
                "clearances": 0.1801,
                "total_contest": 0.4776,
                "won_contest": 0.1857,
                "challenges_lost": 0.2008,
                "fouls": 0.7075,
                "fouls_drawn": 0.3274,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0473,
                "ball_carries": 4.3638,
                "total_progression": 25.3146,
                "progressive_carries": 0.6944,
                "shots_off_target": 0.2707
              },
              "params": {
                "blend_weight": 0.0013,
                "history_matches": 12,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2476,
                "prior_reliability": 0.0067,
                "competition": "La Liga",
                "squad": "Sevilla"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 22.3 to 14.8 expected minutes (appearance prob 0.69)",
              "stats": {
                "key_pass": 0.1588,
                "expected_assists": 0.0171,
                "assists": 0.0232,
                "assist_rate": 0.0232,
                "expected_goals": 0.0253,
                "goals": 0.0251,
                "goal_rate": 0.0251,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0315,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84
              },
              "params": {
                "expected_minutes": 14.84,
                "projection_minutes": 22.28,
                "minutes_scale": 0.6661,
                "appearance_probability": 0.692
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.1588,
                "expected_assists": 0.0171,
                "assists": 0.0232,
                "assist_rate": 0.0232,
                "expected_goals": 0.0253,
                "goals": 0.0251,
                "goal_rate": 0.0251,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0315,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84
              },
              "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.1588,
                "expected_assists": 0.0171,
                "assist_rate": 0.0232,
                "assists": 0,
                "expected_goals": 0.0253,
                "goal_rate": 0.0251,
                "goals": 0,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0315,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "key_pass": 0.1588,
                "expected_assists": 0.019,
                "assist_rate": 0.0232,
                "assists": 0,
                "expected_goals": 0.0316,
                "goal_rate": 0.0251,
                "goals": 0,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0393,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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": 0.9973,
                "creation_factor": 1.0909
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 0.692
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0253,
                  "after": 0.0316
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 15 by projected rating, fifa_overall 67.0)",
              "stats": {
                "key_pass": 0.1588,
                "expected_assists": 0.019,
                "assist_rate": 0.0232,
                "assists": 0,
                "expected_goals": 0.0316,
                "goal_rate": 0.0251,
                "goals": 0,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0393,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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": 0.9973,
                "creation_factor": 1.0909,
                "fifa_overall": 67.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": 6557,
                "fifa_rank": 9410.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 67.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.1588,
                "expected_assists": 0.019,
                "assist_rate": 0.0232,
                "assists": 0,
                "expected_goals": 0.0316,
                "goal_rate": 0.0251,
                "goals": 0,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0393,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0309,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9973,
                "creation_factor": 1.0909,
                "fifa_overall": 67.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0309,
                "goal_rate": 0.0251,
                "scorer_weight": 0.0315,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0192,
                "finishing_factor": 0.9973,
                "appearance_weight": 0.692,
                "weight_rank": 12,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.1588,
                "expected_assists": 0.019,
                "assist_rate": 0.0232,
                "assists": 0,
                "expected_goals": 0.0316,
                "goal_rate": 0.0251,
                "goals": 0,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0393,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0309,
                "projected_assists": 0,
                "assist_probability": 0.0187,
                "finishing_factor": 0.9973,
                "creation_factor": 1.0909,
                "fifa_overall": 67.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0187,
                "assist_rate": 0.0232,
                "provider_weight": 0.0207,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0171,
                "creation_factor": 1.0909,
                "appearance_weight": 0.692,
                "weight_rank": 12,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Nico Guillén": {
          "player_id": 1892023,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 27,
          "height": 190,
          "market_value": 1100000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0116,
            "assist_rate": 0.0242,
            "assists": 0,
            "expected_goals": 0.0184,
            "goal_rate": 0.0272,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6349,
            "minutes": 22,
            "total_pass": 10,
            "accurate_pass": 8,
            "duels_won": 3,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 5,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 18,
            "possession_lost": 3.0668,
            "dispossessed": 0.4528,
            "duels_lost": 3,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 2,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 0,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.499,
            "bench_expected_minutes": 21.97,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.819,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 45,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0029,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 10,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 45,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0392,
                "expected_assists": 0.014,
                "total_shots": 1,
                "total_pass": 12,
                "accurate_pass": 10,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1781,
            "combined_rank_score": 964.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 1231.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6349,
            "source_file": "data/player_rankings.csv",
            "player_name": "Nico Guillén",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Maksim Myakish",
                  "ranking": 1776
                },
                {
                  "player_name": "Jun'ai Byfield",
                  "ranking": 1777
                },
                {
                  "player_name": "Nemanja Gudelj",
                  "ranking": 1778
                },
                {
                  "player_name": "Jon Guridi",
                  "ranking": 1779
                },
                {
                  "player_name": "Pedro Felipe",
                  "ranking": 1780
                }
              ],
              "lower": [
                {
                  "player_name": "Gabriel Pires",
                  "ranking": 1782
                },
                {
                  "player_name": "Yuri",
                  "ranking": 1783
                },
                {
                  "player_name": "William Furtado",
                  "ranking": 1784
                },
                {
                  "player_name": "Carlos Del Valle",
                  "ranking": 1785
                },
                {
                  "player_name": "Matías González",
                  "ranking": 1786
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.375,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "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": 2,
            "data_confidence": 0.375,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 21.97222218756125,
            "bench_appearance_prob": 0.4987373721618749,
            "market_value_adjustment": 0.9855,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (2 historical appearances) to 22.0 expected mins (appearance prob 0.50)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.232,
                "expected_assists": 0.0148,
                "assists": 0.031,
                "assist_rate": 0.031,
                "expected_goals": 0.0235,
                "goals": 0.0347,
                "goal_rate": 0.0347,
                "shots_on_target": 0.1039,
                "total_shots": 0.3391,
                "rating": 6.6349,
                "minutes": 27.67,
                "total_pass": 12.5405,
                "accurate_pass": 10.0,
                "duels_won": 3.8378,
                "total_long_balls": 0.9189,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 6.5405,
                "accurate_own_half_passes": 6.5405,
                "total_opp_half_passes": 6.0,
                "accurate_opp_half_passes": 3.4595,
                "crosses_total": 0.4595,
                "crosses_accurate": 0.0,
                "touches": 23.2973,
                "possession_lost": 3.9189,
                "dispossessed": 0.4595,
                "duels_lost": 4.1622,
                "aerial_won": 0.0,
                "aerial_lost": 0.0,
                "interceptions": 1.0,
                "tackles_won": 0.9189,
                "tackles": 1.9189,
                "clearances": 2.0811,
                "total_contest": 0.4595,
                "won_contest": 0.4595,
                "challenges_lost": 1.0811,
                "fouls": 2.6216,
                "fouls_drawn": 1.4595,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.7568,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.2352
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.5405,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.4595,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 2.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.4595,
                  "creative_index": 0.0048,
                  "expectedGoals": 0.018,
                  "expectedAssists": 0.008,
                  "keyPass": 0.0
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.23198387026786804,
                    "model_output": 0.232,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4201
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0573
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0377
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0205
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0164
                        }
                      ],
                      "others": -0.1062,
                      "total": 0.232,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.638588
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.130005
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.095748
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.056066
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.047277
                        }
                      ],
                      "others_margin": -0.377105
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.01478002779185772,
                    "model_output": 0.0148,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0407
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0117
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.005
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0032
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0021
                        }
                      ],
                      "others": -0.0072,
                      "total": 0.0148,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.655687
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.310046
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.167605
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.123493
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.091999
                        }
                      ],
                      "others_margin": -0.396724
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.030987603589892387,
                    "model_output": 0.031,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0207
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0081
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0049
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0044
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0038
                        }
                      ],
                      "others": -0.0122,
                      "total": 0.031,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.279308
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.135124
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.091662
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.089053
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.083439
                        }
                      ],
                      "others_margin": -0.332109
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.023531392216682434,
                    "model_output": 0.0235,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0385
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0179
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0055
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0037
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0018
                        }
                      ],
                      "others": -0.0009,
                      "total": 0.0235,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.542924
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.408755
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.168991
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.13086
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.070238
                        }
                      ],
                      "others_margin": -0.039688
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.034707456827163696,
                    "model_output": 0.0347,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0315
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.01
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0084
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0034
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0033
                        }
                      ],
                      "others": -0.0099,
                      "total": 0.0347,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.404433
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.171628
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.171387
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.079684
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.077561
                        }
                      ],
                      "others_margin": -0.252846
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.10387580841779709,
                    "model_output": 0.1039,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1142
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0479
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0305
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0161
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0096
                        }
                      ],
                      "others": 0.0043,
                      "total": 0.1039,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.445306
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.267868
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.217503
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.137689
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.092427
                        }
                      ],
                      "others_margin": 0.042321
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.33905982971191406,
                    "model_output": 0.3391,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3571
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1824
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0589
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0331
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0234
                        }
                      ],
                      "others": 0.0091,
                      "total": 0.3391,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.357058
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.182442
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.058932
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.033106
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.02344
                        }
                      ],
                      "others_margin": 0.009103
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.634949684143066,
                    "model_output": 6.6349,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0625
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0517
                        },
                        {
                          "name": "rating",
                          "contribution": -0.043
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0106
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0093
                        }
                      ],
                      "others": -0.0454,
                      "total": 6.6349,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.062538
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.051693
                        },
                        {
                          "name": "rating",
                          "margin": -0.042997
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.010593
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.009304
                        }
                      ],
                      "others_margin": -0.045332
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 2,
                  "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.9855, quality 0.437)",
              "stats": {
                "key_pass": 0.2286,
                "expected_assists": 0.0146,
                "assists": 0.0305,
                "assist_rate": 0.0305,
                "expected_goals": 0.0232,
                "goals": 0.0342,
                "goal_rate": 0.0342,
                "shots_on_target": 0.1024,
                "total_shots": 0.3342,
                "rating": 6.6349,
                "minutes": 27.67,
                "total_pass": 12.3587,
                "accurate_pass": 9.855,
                "duels_won": 3.7822,
                "total_long_balls": 0.9056,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 6.4457,
                "accurate_own_half_passes": 6.4457,
                "total_opp_half_passes": 5.913,
                "accurate_opp_half_passes": 3.4093,
                "crosses_total": 0.4528,
                "crosses_accurate": 0.0,
                "touches": 22.9595,
                "possession_lost": 3.8621,
                "dispossessed": 0.4528,
                "duels_lost": 4.1018,
                "aerial_won": 0.0,
                "aerial_lost": 0.0,
                "interceptions": 0.9855,
                "tackles_won": 0.9056,
                "tackles": 1.8911,
                "clearances": 2.0509,
                "total_contest": 0.4528,
                "won_contest": 0.4528,
                "challenges_lost": 1.0654,
                "fouls": 2.5836,
                "fouls_drawn": 1.4383,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.7023,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.2318
              },
              "params": {
                "market_value_eur": 1100000,
                "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 27.7 to 22.0 expected minutes (appearance prob 0.50)",
              "stats": {
                "key_pass": 0.1815,
                "expected_assists": 0.0116,
                "assists": 0.0242,
                "assist_rate": 0.0242,
                "expected_goals": 0.0184,
                "goals": 0.0272,
                "goal_rate": 0.0272,
                "shots_on_target": 0.0813,
                "total_shots": 0.2654,
                "rating": 6.6349,
                "minutes": 21.97,
                "total_pass": 9.8138,
                "accurate_pass": 7.8257,
                "duels_won": 3.0034,
                "total_long_balls": 0.7191,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 5.1184,
                "accurate_own_half_passes": 5.1184,
                "total_opp_half_passes": 4.6954,
                "accurate_opp_half_passes": 2.7073,
                "crosses_total": 0.3596,
                "crosses_accurate": 0.0,
                "touches": 18.2317,
                "possession_lost": 3.0668,
                "dispossessed": 0.4528,
                "duels_lost": 3.2572,
                "aerial_won": 0.0,
                "aerial_lost": 0.0,
                "interceptions": 0.7826,
                "tackles_won": 0.7191,
                "tackles": 1.5017,
                "clearances": 1.6286,
                "total_contest": 0.3596,
                "won_contest": 0.3596,
                "challenges_lost": 1.0654,
                "fouls": 2.0516,
                "fouls_drawn": 1.1421,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.9399,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1841,
                "bench_appearance_probability": 0.499,
                "bench_expected_minutes": 21.97
              },
              "params": {
                "expected_minutes": 21.97,
                "projection_minutes": 27.67,
                "minutes_scale": 0.7941,
                "appearance_probability": 0.499
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.1815,
                "expected_assists": 0.0116,
                "assists": 0.0242,
                "assist_rate": 0.0242,
                "expected_goals": 0.0184,
                "goals": 0.0272,
                "goal_rate": 0.0272,
                "shots_on_target": 0.0813,
                "total_shots": 0.2654,
                "rating": 6.6349,
                "minutes": 21.97,
                "total_pass": 9.8138,
                "accurate_pass": 7.8257,
                "duels_won": 3.0034,
                "total_long_balls": 0.7191,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 5.1184,
                "accurate_own_half_passes": 5.1184,
                "total_opp_half_passes": 4.6954,
                "accurate_opp_half_passes": 2.7073,
                "crosses_total": 0.3596,
                "crosses_accurate": 0.0,
                "touches": 18.2317,
                "possession_lost": 3.0668,
                "dispossessed": 0.4528,
                "duels_lost": 3.2572,
                "aerial_won": 0.0,
                "aerial_lost": 0.0,
                "interceptions": 0.7826,
                "tackles_won": 0.7191,
                "tackles": 1.5017,
                "clearances": 1.6286,
                "total_contest": 0.3596,
                "won_contest": 0.3596,
                "challenges_lost": 1.0654,
                "fouls": 2.0516,
                "fouls_drawn": 1.1421,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.9399,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1841,
                "bench_appearance_probability": 0.499,
                "bench_expected_minutes": 21.97
              },
              "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.1815,
                "expected_assists": 0.0116,
                "assist_rate": 0.0242,
                "assists": 0,
                "expected_goals": 0.0184,
                "goal_rate": 0.0272,
                "goals": 0,
                "shots_on_target": 0.0813,
                "total_shots": 0.2654,
                "rating": 6.6349,
                "minutes": 21.97,
                "total_pass": 9.8138,
                "accurate_pass": 7.8257,
                "duels_won": 3.0034,
                "total_long_balls": 0.7191,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 5.1184,
                "accurate_own_half_passes": 5.1184,
                "total_opp_half_passes": 4.6954,
                "accurate_opp_half_passes": 2.7073,
                "crosses_total": 0.3596,
                "crosses_accurate": 0.0,
                "touches": 18.2317,
                "possession_lost": 3.0668,
                "dispossessed": 0.4528,
                "duels_lost": 3.2572,
                "aerial_won": 0.0,
                "aerial_lost": 0.0,
                "interceptions": 0.7826,
                "tackles_won": 0.7191,
                "tackles": 1.5017,
                "clearances": 1.6286,
                "total_contest": 0.3596,
                "won_contest": 0.3596,
                "challenges_lost": 1.0654,
                "fouls": 2.0516,
                "fouls_drawn": 1.1421,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.9399,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1841,
                "bench_appearance_probability": 0.499,
                "bench_expected_minutes": 21.97,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.499,
                "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 78.0)",
              "stats": {
                "key_pass": 0.1815,
                "expected_assists": 0.0116,
                "assist_rate": 0.0242,
                "assists": 0,
                "expected_goals": 0.0184,
                "goal_rate": 0.0272,
                "goals": 0,
                "shots_on_target": 0.0813,
                "total_shots": 0.2654,
                "rating": 6.6349,
                "minutes": 21.97,
                "total_pass": 9.8138,
                "accurate_pass": 7.8257,
                "duels_won": 3.0034,
                "total_long_balls": 0.7191,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 5.1184,
                "accurate_own_half_passes": 5.1184,
                "total_opp_half_passes": 4.6954,
                "accurate_opp_half_passes": 2.7073,
                "crosses_total": 0.3596,
                "crosses_accurate": 0.0,
                "touches": 18.2317,
                "possession_lost": 3.0668,
                "dispossessed": 0.4528,
                "duels_lost": 3.2572,
                "aerial_won": 0.0,
                "aerial_lost": 0.0,
                "interceptions": 0.7826,
                "tackles_won": 0.7191,
                "tackles": 1.5017,
                "clearances": 1.6286,
                "total_contest": 0.3596,
                "won_contest": 0.3596,
                "challenges_lost": 1.0654,
                "fouls": 2.0516,
                "fouls_drawn": 1.1421,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.9399,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1841,
                "bench_appearance_probability": 0.499,
                "bench_expected_minutes": 21.97,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 18,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 1781,
                "fifa_rank": 1231.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Lucas Stassin": {
          "player_id": 1126521,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 19,
          "height": 184,
          "market_value": 15700000,
          "stats": {
            "expected_goals": 0.1038,
            "goal_rate": 0.0993,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0195,
            "key_pass": 0,
            "rating": 6.6624,
            "minutes": 26,
            "total_pass": 12,
            "accurate_pass": 8,
            "duels_won": 3,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 19,
            "possession_lost": 6.7084,
            "dispossessed": 0.3101,
            "duels_lost": 3,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "assist_rate": 0.2187,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.2092,
            "offsides": 0,
            "ball_carries": 5,
            "total_progression": 15,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.586,
            "bench_expected_minutes": 25.88,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.819,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0951,
            "projected_assists": 0,
            "assist_probability": 0.0192,
            "finishing_factor": 1.0067,
            "creation_factor": 1.25,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16421093.0,
              "match_date": "2026-11-01 13:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Getafe",
              "away_team": "Sevilla",
              "home_score_current": 3.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 63,
                "rating": 6.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0758,
                "expected_assists": 0.0064,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 15,
                "accurate_pass": 10,
                "key_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 34,
                "rating": 6.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.0143,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 10,
                "key_pass": 2,
                "aerial_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 76,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3319,
                "expected_assists": 0.0217,
                "total_shots": 4,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 83,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0157,
                "expected_assists": 0.0132,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 7,
                "key_pass": 1,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 36,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3995,
                "expected_assists": 0.0007,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 6,
                "accurate_pass": 4,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3440,
            "combined_rank_score": 1429.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 2751.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6624,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucas Stassin",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Sebastiaan Bornauw",
                  "ranking": 3435
                },
                {
                  "player_name": "Lorenzo Melgarejo",
                  "ranking": 3436
                },
                {
                  "player_name": "Tomáš Chorý",
                  "ranking": 3437
                },
                {
                  "player_name": "Ferran Jutglà",
                  "ranking": 3438
                },
                {
                  "player_name": "César Tárrega",
                  "ranking": 3439
                }
              ],
              "lower": [
                {
                  "player_name": "Nelson Deossa",
                  "ranking": 3441
                },
                {
                  "player_name": "Filip Jörgensen",
                  "ranking": 3442
                },
                {
                  "player_name": "Luis Muriel",
                  "ranking": 3443
                },
                {
                  "player_name": "Ethan Nwaneri",
                  "ranking": 3444
                },
                {
                  "player_name": "Lucas Martínez Quarta",
                  "ranking": 3445
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.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.88355663750985,
            "bench_appearance_prob": 0.5856162107959023,
            "market_value_adjustment": 1.0123,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (5 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.103,
                "goals": 0.104,
                "goal_rate": 0.104,
                "shots_on_target": 0.3308,
                "total_shots": 0.8344,
                "expected_assists": 0.0218,
                "key_pass": 0.3226,
                "rating": 6.6624,
                "minutes": 27.46,
                "total_pass": 12.1248,
                "accurate_pass": 8.4639,
                "duels_won": 3.2968,
                "total_long_balls": 0.7049,
                "accurate_long_balls": 0.7049,
                "total_opp_half_passes": 8.7916,
                "accurate_opp_half_passes": 5.4618,
                "crosses_total": 0.1656,
                "crosses_accurate": 0.1656,
                "touches": 20.3821,
                "possession_lost": 7.0305,
                "dispossessed": 0.3063,
                "duels_lost": 3.3431,
                "aerial_lost": 1.9116,
                "total_contest": 1.1312,
                "won_contest": 0.7708,
                "ball_recovery": 1.4301,
                "challenges_lost": 0.3063,
                "fouls": 0.4584,
                "fouls_drawn": 0.5896,
                "assists": 0.2292,
                "assist_rate": 0.2292,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1948,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5545,
                "xgot": 0.2076,
                "offsides": 0.0,
                "ball_carries": 4.804,
                "total_progression": 15.8146,
                "progressive_carries": 0.3896,
                "shots_off_target": 0.5036
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:06:26.876327+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 612,
                    "rows": 17180
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 34.0,
                    "is_starting": false,
                    "weight": 0.2292,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 76.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 83.0,
                    "is_starting": true,
                    "weight": 0.1656,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 0.1408,
                    "rating": 7.4
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 0.0,
                  "accuratePass": 8.4639,
                  "expectedGoals": 0.1439,
                  "accurateOppositionHalfPasses": 5.4618,
                  "totalShots": 1.496,
                  "totalOppositionHalfPasses": 8.7916
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.1029844880104065,
                    "model_output": 0.103,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2767
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0987
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.036
                      },
                      {
                        "name": "goals",
                        "importance": 0.0336
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.1929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0842
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0103
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0077
                        },
                        {
                          "name": "aerialLost",
                          "contribution": 0.0036
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": 0.0036
                        }
                      ],
                      "others": 0.0051,
                      "total": 0.103,
                      "log_link": true,
                      "margin_base": -1.645586,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.573308
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.099747
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.081673
                        },
                        {
                          "name": "aerialLost",
                          "margin": 0.039091
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": 0.037614
                        }
                      ],
                      "others_margin": 0.050433
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.1040177121758461,
                    "model_output": 0.104,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1491
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0805
                      },
                      {
                        "name": "goals",
                        "importance": 0.056
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0343
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0288
                      }
                    ],
                    "decomposition": {
                      "base": 0.1972,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0817
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0117
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0082
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0059
                        },
                        {
                          "name": "shot_waste_rate",
                          "contribution": 0.0056
                        }
                      ],
                      "others": -0.0031,
                      "total": 0.104,
                      "log_link": true,
                      "margin_base": -1.623746,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.534775
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.106667
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.082098
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.05944
                        },
                        {
                          "name": "shot_waste_rate",
                          "margin": 0.053799
                        }
                      ],
                      "others_margin": -0.029147
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.33079320192337036,
                    "model_output": 0.3308,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2173
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0637
                      },
                      {
                        "name": "goals",
                        "importance": 0.0596
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0393
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.5269,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2129
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0115
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0112
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0088
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0073
                        }
                      ],
                      "others": 0.0102,
                      "total": 0.3308,
                      "log_link": true,
                      "margin_base": -0.640773,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.517544
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.035865
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.033904
                        },
                        {
                          "name": "goals",
                          "margin": -0.026536
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.022404
                        }
                      ],
                      "others_margin": 0.031226
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.8343659043312073,
                    "model_output": 0.8344,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.3005
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0627
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0526
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0309
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0307
                      }
                    ],
                    "decomposition": {
                      "base": 1.3756,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.5756
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.035
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.034
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": 0.0283
                        },
                        {
                          "name": "history_matches",
                          "contribution": -0.0253
                        }
                      ],
                      "others": 0.0304,
                      "total": 0.8344,
                      "log_link": false,
                      "margin_base": 1.375643,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.575563
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.034994
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.034036
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": 0.028268
                        },
                        {
                          "name": "history_matches",
                          "margin": -0.025301
                        }
                      ],
                      "others_margin": 0.030361
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.021778784692287445,
                    "model_output": 0.0218,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1287
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1119
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0634
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.051
                      }
                    ],
                    "decomposition": {
                      "base": 0.065,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0198
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0096
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0041
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0032
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0024
                        }
                      ],
                      "others": -0.0041,
                      "total": 0.0218,
                      "log_link": true,
                      "margin_base": -2.733324,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.362244
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.239652
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.123311
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.107583
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.090003
                        }
                      ],
                      "others_margin": -0.170703
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.32262349128723145,
                    "model_output": 0.3226,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1579
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1341
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0953
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.069
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0295
                      }
                    ],
                    "decomposition": {
                      "base": 0.6917,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2512
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0355
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0225
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0191
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0186
                        }
                      ],
                      "others": -0.0594,
                      "total": 0.3226,
                      "log_link": true,
                      "margin_base": -0.368585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.451213
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.083946
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.05716
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.051282
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.049913
                        }
                      ],
                      "others_margin": -0.168997
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.662362098693848,
                    "model_output": 6.6624,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.048
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0462
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0455
                      },
                      {
                        "name": "rating",
                        "importance": 0.0455
                      }
                    ],
                    "decomposition": {
                      "base": 6.7733,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0576
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0113
                        },
                        {
                          "name": "touches",
                          "contribution": -0.0099
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0098
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": 0.0092
                        }
                      ],
                      "others": -0.0315,
                      "total": 6.6624,
                      "log_link": false,
                      "margin_base": 6.773334,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.057609
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.011309
                        },
                        {
                          "name": "touches",
                          "margin": -0.009885
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.009754
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": 0.009213
                        }
                      ],
                      "others_margin": -0.031627
                    }
                  }
                ],
                "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 1.0123, quality 0.587)",
              "stats": {
                "expected_goals": 0.1043,
                "goals": 0.1053,
                "goal_rate": 0.1053,
                "shots_on_target": 0.3349,
                "total_shots": 0.8447,
                "expected_assists": 0.022,
                "key_pass": 0.3266,
                "rating": 6.6624,
                "minutes": 27.46,
                "total_pass": 12.2739,
                "accurate_pass": 8.568,
                "duels_won": 3.3374,
                "total_long_balls": 0.7136,
                "accurate_long_balls": 0.7136,
                "total_opp_half_passes": 8.8997,
                "accurate_opp_half_passes": 5.529,
                "crosses_total": 0.1676,
                "crosses_accurate": 0.1676,
                "touches": 20.6328,
                "possession_lost": 7.117,
                "dispossessed": 0.3101,
                "duels_lost": 3.3842,
                "aerial_lost": 1.9351,
                "total_contest": 1.1451,
                "won_contest": 0.7803,
                "ball_recovery": 1.4477,
                "challenges_lost": 0.3101,
                "fouls": 0.464,
                "fouls_drawn": 0.5969,
                "assists": 0.232,
                "assist_rate": 0.232,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1972,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5613,
                "xgot": 0.2102,
                "offsides": 0.0,
                "ball_carries": 4.8631,
                "total_progression": 16.0091,
                "progressive_carries": 0.3944,
                "shots_off_target": 0.5098
              },
              "params": {
                "market_value_eur": 15700000,
                "quality_factor": 0.5868,
                "boost_factor": 1.0123,
                "reference_quality": 0.505,
                "history_matches": 5,
                "history_shrink": 0.5,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 27.5 to 25.9 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.0983,
                "goals": 0.0993,
                "goal_rate": 0.0993,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0207,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assists": 0.2187,
                "assist_rate": 0.2187,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.1981,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88
              },
              "params": {
                "expected_minutes": 25.88,
                "projection_minutes": 27.46,
                "minutes_scale": 0.9426,
                "appearance_probability": 0.586
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0983,
                "goals": 0.0993,
                "goal_rate": 0.0993,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0207,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assists": 0.2187,
                "assist_rate": 0.2187,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.1981,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "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 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.0983,
                "goal_rate": 0.0993,
                "goals": 0,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0207,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assist_rate": 0.2187,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.1981,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "expected_goals": 0.1038,
                "goal_rate": 0.0993,
                "goals": 0,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0195,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assist_rate": 0.2187,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.2092,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.0067,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 0.586
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0983,
                  "after": 0.1038
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 16 by projected rating, fifa_overall 74.0)",
              "stats": {
                "expected_goals": 0.1038,
                "goal_rate": 0.0993,
                "goals": 0,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0195,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assist_rate": 0.2187,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.2092,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.0067,
                "creation_factor": 1.25,
                "fifa_overall": 74.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": 3440,
                "fifa_rank": 2751.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 74.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.1038,
                "goal_rate": 0.0993,
                "goals": 0,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0195,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assist_rate": 0.2187,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.2092,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0951,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0067,
                "creation_factor": 1.25,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0951,
                "goal_rate": 0.0993,
                "scorer_weight": 0.1045,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0637,
                "finishing_factor": 1.0067,
                "appearance_weight": 0.586,
                "weight_rank": 7,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.1038,
                "goal_rate": 0.0993,
                "goals": 0,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0195,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assist_rate": 0.2187,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.2092,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0951,
                "projected_assists": 0,
                "assist_probability": 0.0192,
                "finishing_factor": 1.0067,
                "creation_factor": 1.25,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0192,
                "assist_rate": 0.2187,
                "provider_weight": 0.0244,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0201,
                "creation_factor": 1.25,
                "appearance_weight": 0.586,
                "weight_rank": 11,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Rubén Vargas": {
          "player_id": 872919,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 179,
          "market_value": 13900000,
          "stats": {
            "expected_goals": 0.0901,
            "goal_rate": 0.0824,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0802,
            "key_pass": 1,
            "rating": 6.757,
            "minutes": 23,
            "total_pass": 14,
            "accurate_pass": 12,
            "duels_won": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 6,
            "crosses_total": 1,
            "crosses_accurate": 1,
            "touches": 21,
            "possession_lost": 4.3148,
            "dispossessed": 0.3228,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1299,
            "offsides": 0,
            "ball_carries": 5,
            "total_progression": 24,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.729,
            "bench_expected_minutes": 23.16,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.819,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0848,
            "projected_assists": 0,
            "assist_probability": 0.0759,
            "finishing_factor": 1.1164,
            "creation_factor": 0.8,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 19,
                "rating": 6.9,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.111,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 21,
                "accurate_pass": 17,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0308,
                "expected_assists": 0.0382,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 15,
                "accurate_pass": 13,
                "key_pass": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 20,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0705,
                "expected_assists": 0.0065,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 6,
                "accurate_pass": 2,
                "tackles": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083715.0,
              "match_date": "2026-05-23",
              "home_team": "Celta Vigo",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 26,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0792,
                "expected_assists": 0.0506,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 20,
                "accurate_pass": 20,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083702.0,
              "match_date": "2026-05-17",
              "home_team": "Sevilla",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 54,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0954,
                "expected_assists": 0.133,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 15,
                "accurate_pass": 11,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083644.0,
              "match_date": "2026-05-13",
              "home_team": "Villarreal",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 67,
                "rating": 6.8,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0288,
                "expected_assists": 0.1584,
                "total_shots": 1,
                "total_pass": 31,
                "accurate_pass": 26,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083587.0,
              "match_date": "2026-05-09",
              "home_team": "Sevilla",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 75,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1857,
                "expected_assists": 0.095,
                "total_shots": 4,
                "shots_on_target": 1,
                "total_pass": 26,
                "accurate_pass": 21,
                "key_pass": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083526.0,
              "match_date": "2026-05-04",
              "home_team": "Sevilla",
              "away_team": "Real Sociedad",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 75,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2839,
                "expected_assists": 0.0741,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 22,
                "accurate_pass": 18,
                "key_pass": 3,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083231.0,
              "match_date": "2026-04-26",
              "home_team": "Osasuna",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 76,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0433,
                "expected_assists": 0.0212,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 12,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083265.0,
              "match_date": "2026-04-23",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 83,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0933,
                "expected_assists": 0.0091,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 24,
                "accurate_pass": 19,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1980,
            "combined_rank_score": 765.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 292.0,
            "sofascore_rating": 7.05,
            "sofascore_appearances": 6.0,
            "fifa_rank": 1238.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.757,
            "source_file": "data/player_rankings.csv",
            "player_name": "Rubén Vargas",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Damien Da Silva",
                  "ranking": 1975
                },
                {
                  "player_name": "Joe Rodon",
                  "ranking": 1976
                },
                {
                  "player_name": "Senny Mayulu",
                  "ranking": 1977
                },
                {
                  "player_name": "Gerard Gumbau",
                  "ranking": 1978
                },
                {
                  "player_name": "Malik Tillman",
                  "ranking": 1979
                }
              ],
              "lower": [
                {
                  "player_name": "Norman Rodríguez",
                  "ranking": 1981
                },
                {
                  "player_name": "Elzio Lohan Alves Lucio",
                  "ranking": 1982
                },
                {
                  "player_name": "Byong-oh Kim",
                  "ranking": 1983
                },
                {
                  "player_name": "Irakli Bughridze",
                  "ranking": 1984
                },
                {
                  "player_name": "Axel Alfonzo",
                  "ranking": 1985
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.752,
          "history_matches": 27,
          "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": 27,
            "data_confidence": 0.752,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 23.16,
            "bench_appearance_prob": 0.729,
            "market_value_adjustment": 1.0029,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 21.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0133
            },
            "rationale": "Bench projection scaled from XGBoost F_service (27 historical appearances) to 23.2 expected mins (appearance prob 0.73); FBref playing time empirical prior: 1.0 sub appearances, 21.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.0683,
                "goals": 0.0822,
                "goal_rate": 0.0822,
                "shots_on_target": 0.2204,
                "total_shots": 0.7395,
                "expected_assists": 0.0681,
                "key_pass": 0.6526,
                "rating": 6.757,
                "minutes": 23.13,
                "total_pass": 14.1778,
                "accurate_pass": 11.6314,
                "duels_won": 1.5697,
                "total_long_balls": 0.905,
                "accurate_long_balls": 0.4956,
                "total_opp_half_passes": 8.2402,
                "accurate_opp_half_passes": 6.1533,
                "crosses_total": 1.2088,
                "crosses_accurate": 0.8694,
                "touches": 20.7115,
                "possession_lost": 4.2967,
                "dispossessed": 0.3219,
                "duels_lost": 1.0632,
                "aerial_lost": 0.0,
                "total_contest": 0.7003,
                "won_contest": 0.2548,
                "ball_recovery": 2.6987,
                "challenges_lost": 0.1479,
                "fouls": 0.1479,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.2958,
                "tackles_won": 0.4148,
                "tackles": 0.9672,
                "clearances": 0.2047,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0985,
                "offsides": 0.1479,
                "ball_carries": 4.8422,
                "total_progression": 24.1698,
                "progressive_carries": 1.5664,
                "shots_off_target": 0.5191
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:06:26.876327+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 612,
                    "rows": 17180
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.1519,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1291,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.1097,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Celta Vigo",
                    "minutes": 26.0,
                    "is_starting": false,
                    "weight": 0.0933,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Real Madrid",
                    "minutes": 54.0,
                    "is_starting": true,
                    "weight": 0.0793,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-13",
                    "opponent": "Villarreal",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0674,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Espanyol",
                    "minutes": 75.0,
                    "is_starting": true,
                    "weight": 0.0573,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-04",
                    "opponent": "Real Sociedad",
                    "minutes": 75.0,
                    "is_starting": true,
                    "weight": 0.0487,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-04-26",
                    "opponent": "Osasuna",
                    "minutes": 76.0,
                    "is_starting": true,
                    "weight": 0.0414,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-04-23",
                    "opponent": "Levante UD",
                    "minutes": 83.0,
                    "is_starting": true,
                    "weight": 0.0352,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "accuratePass": 15.0557,
                  "expectedGoals": 0.0828,
                  "accurateOppositionHalfPasses": 9.8758,
                  "totalShots": 1.37,
                  "totalOppositionHalfPasses": 13.3861
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.06826473772525787,
                    "model_output": 0.0683,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2767
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0987
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.036
                      },
                      {
                        "name": "goals",
                        "importance": 0.0336
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.1929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0768
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0173
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0079
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0047
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0043
                        }
                      ],
                      "others": -0.0136,
                      "total": 0.0683,
                      "log_link": true,
                      "margin_base": -1.645586,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.507841
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.161376
                        },
                        {
                          "name": "goals",
                          "margin": -0.083183
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.053046
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.050582
                        }
                      ],
                      "others_margin": -0.182748
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.0822090357542038,
                    "model_output": 0.0822,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1491
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0805
                      },
                      {
                        "name": "goals",
                        "importance": 0.056
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0343
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0288
                      }
                    ],
                    "decomposition": {
                      "base": 0.1972,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0802
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0126
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0058
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0051
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0039
                        }
                      ],
                      "others": -0.0074,
                      "total": 0.0822,
                      "log_link": true,
                      "margin_base": -1.623746,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.522585
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.114356
                        },
                        {
                          "name": "goals",
                          "margin": -0.057364
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": -0.053715
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.042454
                        }
                      ],
                      "others_margin": -0.084269
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.22042356431484222,
                    "model_output": 0.2204,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2173
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0637
                      },
                      {
                        "name": "goals",
                        "importance": 0.0596
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0393
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.5269,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2141
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0238
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0146
                        },
                        {
                          "name": "shot_waste_rate",
                          "contribution": 0.0144
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0137
                        }
                      ],
                      "others": -0.0547,
                      "total": 0.2204,
                      "log_link": true,
                      "margin_base": -0.640773,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.521358
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.078972
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.051948
                        },
                        {
                          "name": "shot_waste_rate",
                          "margin": 0.05103
                        },
                        {
                          "name": "goals",
                          "margin": -0.048453
                        }
                      ],
                      "others_margin": -0.221729
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.7394989132881165,
                    "model_output": 0.7395,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.3005
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0627
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0526
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0309
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0307
                      }
                    ],
                    "decomposition": {
                      "base": 1.3756,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4646
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0653
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0456
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0413
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0353
                        }
                      ],
                      "others": -0.0666,
                      "total": 0.7395,
                      "log_link": false,
                      "margin_base": 1.375643,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.464573
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.065252
                        },
                        {
                          "name": "goals",
                          "margin": -0.045629
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.041343
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.035264
                        }
                      ],
                      "others_margin": -0.066769
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.06812897324562073,
                    "model_output": 0.0681,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1287
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1119
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0634
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.051
                      }
                    ],
                    "decomposition": {
                      "base": 0.065,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0193
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0063
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0065
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0044
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0036
                        }
                      ],
                      "others": 0.0016,
                      "total": 0.0681,
                      "log_link": true,
                      "margin_base": -2.733324,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.351673
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.129654
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.117332
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.072381
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.055027
                        }
                      ],
                      "others_margin": 0.02425
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.6526399254798889,
                    "model_output": 0.6526,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1579
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1341
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0953
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.069
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0295
                      }
                    ],
                    "decomposition": {
                      "base": 0.6917,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.221
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0576
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0245
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0237
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.0227
                        }
                      ],
                      "others": 0.0534,
                      "total": 0.6526,
                      "log_link": true,
                      "margin_base": -0.368585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.384828
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.115504
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.045328
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.042035
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": 0.038683
                        }
                      ],
                      "others_margin": 0.085132
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.756976127624512,
                    "model_output": 6.757,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.048
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0462
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0455
                      },
                      {
                        "name": "rating",
                        "importance": 0.0455
                      }
                    ],
                    "decomposition": {
                      "base": 6.7733,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0612
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0224
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0115
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.009
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0086
                        }
                      ],
                      "others": -0.0066,
                      "total": 6.757,
                      "log_link": false,
                      "margin_base": 6.773334,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.061164
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.022428
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.011454
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.00896
                        },
                        {
                          "name": "touches",
                          "margin": 0.008573
                        }
                      ],
                      "others_margin": -0.006607
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 27,
                  "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.0029, quality 0.567)",
              "stats": {
                "expected_goals": 0.0685,
                "goals": 0.0824,
                "goal_rate": 0.0824,
                "shots_on_target": 0.2211,
                "total_shots": 0.7417,
                "expected_assists": 0.0683,
                "key_pass": 0.6545,
                "rating": 6.757,
                "minutes": 23.13,
                "total_pass": 14.2189,
                "accurate_pass": 11.6651,
                "duels_won": 1.5743,
                "total_long_balls": 0.9076,
                "accurate_long_balls": 0.497,
                "total_opp_half_passes": 8.2641,
                "accurate_opp_half_passes": 6.1711,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.8719,
                "touches": 20.7716,
                "possession_lost": 4.3092,
                "dispossessed": 0.3228,
                "duels_lost": 1.0663,
                "aerial_lost": 0.0,
                "total_contest": 0.7023,
                "won_contest": 0.2555,
                "ball_recovery": 2.7065,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.2967,
                "tackles_won": 0.416,
                "tackles": 0.97,
                "clearances": 0.2053,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0988,
                "offsides": 0.1483,
                "ball_carries": 4.8562,
                "total_progression": 24.2399,
                "progressive_carries": 1.5709,
                "shots_off_target": 0.5206
              },
              "params": {
                "market_value_eur": 13900000,
                "quality_factor": 0.5671,
                "boost_factor": 1.0029,
                "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.0014)",
              "stats": {
                "expected_goals": 0.0685,
                "goals": 0.0823,
                "goal_rate": 0.0823,
                "shots_on_target": 0.2208,
                "total_shots": 0.7422,
                "expected_assists": 0.0683,
                "key_pass": 0.6545,
                "rating": 6.757,
                "minutes": 23.13,
                "total_pass": 14.2189,
                "accurate_pass": 11.6651,
                "duels_won": 1.5743,
                "total_long_balls": 0.9076,
                "accurate_long_balls": 0.497,
                "total_opp_half_passes": 8.2641,
                "accurate_opp_half_passes": 6.1711,
                "crosses_total": 1.2107,
                "crosses_accurate": 0.8719,
                "touches": 20.7716,
                "possession_lost": 4.3092,
                "dispossessed": 0.3228,
                "duels_lost": 1.0663,
                "aerial_lost": 0.0,
                "total_contest": 0.7023,
                "won_contest": 0.2555,
                "ball_recovery": 2.7065,
                "challenges_lost": 0.1483,
                "fouls": 0.1481,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.2963,
                "tackles_won": 0.4154,
                "tackles": 0.97,
                "clearances": 0.2053,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0988,
                "offsides": 0.1481,
                "ball_carries": 4.8562,
                "total_progression": 24.2399,
                "progressive_carries": 1.5709,
                "shots_off_target": 0.5206
              },
              "params": {
                "blend_weight": 0.0014,
                "history_matches": 27,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.257,
                "prior_reliability": 0.0133,
                "competition": "La Liga",
                "squad": "Sevilla"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 23.1 to 23.2 expected minutes (appearance prob 0.73)",
              "stats": {
                "expected_goals": 0.0686,
                "goals": 0.0824,
                "goal_rate": 0.0824,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0684,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0989,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16
              },
              "params": {
                "expected_minutes": 23.16,
                "projection_minutes": 23.13,
                "minutes_scale": 1.0013,
                "appearance_probability": 0.729
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0686,
                "goals": 0.0824,
                "goal_rate": 0.0824,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0684,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0989,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16
              },
              "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.0686,
                "goal_rate": 0.0824,
                "goals": 0,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0684,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0989,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "expected_goals": 0.0901,
                "goal_rate": 0.0824,
                "goals": 0,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0802,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1299,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.1164,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 0.729
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0686,
                  "after": 0.0901
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0684,
                  "after": 0.0802
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 11 by projected rating, fifa_overall 78.0)",
              "stats": {
                "expected_goals": 0.0901,
                "goal_rate": 0.0824,
                "goals": 0,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0802,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1299,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.1164,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 11,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1980,
                "fifa_rank": 1238.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": {
                "expected_goals": 0.0901,
                "goal_rate": 0.0824,
                "goals": 0,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0802,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1299,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0848,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1164,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0848,
                "goal_rate": 0.0824,
                "scorer_weight": 0.1006,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0613,
                "finishing_factor": 1.1164,
                "appearance_weight": 0.729,
                "weight_rank": 8,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.0901,
                "goal_rate": 0.0824,
                "goals": 0,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0802,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1299,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0848,
                "projected_assists": 0,
                "assist_probability": 0.0759,
                "finishing_factor": 1.1164,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0759,
                "assist_rate": 0.0,
                "provider_weight": 0.0642,
                "squad_weight_total": 1.2113,
                "weight_share": 0.053,
                "creation_factor": 0.8,
                "appearance_weight": 0.729,
                "weight_rank": 9,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "substitutes": {
        "Rubén Vargas": {
          "player_id": 872919,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 179,
          "market_value": 13900000,
          "stats": {
            "expected_goals": 0.0901,
            "goal_rate": 0.0824,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0802,
            "key_pass": 1,
            "rating": 6.757,
            "minutes": 23,
            "total_pass": 14,
            "accurate_pass": 12,
            "duels_won": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 6,
            "crosses_total": 1,
            "crosses_accurate": 1,
            "touches": 21,
            "possession_lost": 4.3148,
            "dispossessed": 0.3228,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1299,
            "offsides": 0,
            "ball_carries": 5,
            "total_progression": 24,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.729,
            "bench_expected_minutes": 23.16,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.819,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0848,
            "projected_assists": 0,
            "assist_probability": 0.0759,
            "finishing_factor": 1.1164,
            "creation_factor": 0.8,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 19,
                "rating": 6.9,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.111,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 21,
                "accurate_pass": 17,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0308,
                "expected_assists": 0.0382,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 15,
                "accurate_pass": 13,
                "key_pass": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 20,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0705,
                "expected_assists": 0.0065,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 6,
                "accurate_pass": 2,
                "tackles": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083715.0,
              "match_date": "2026-05-23",
              "home_team": "Celta Vigo",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 26,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0792,
                "expected_assists": 0.0506,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 20,
                "accurate_pass": 20,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083702.0,
              "match_date": "2026-05-17",
              "home_team": "Sevilla",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 54,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0954,
                "expected_assists": 0.133,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 15,
                "accurate_pass": 11,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083644.0,
              "match_date": "2026-05-13",
              "home_team": "Villarreal",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 67,
                "rating": 6.8,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0288,
                "expected_assists": 0.1584,
                "total_shots": 1,
                "total_pass": 31,
                "accurate_pass": 26,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083587.0,
              "match_date": "2026-05-09",
              "home_team": "Sevilla",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 75,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1857,
                "expected_assists": 0.095,
                "total_shots": 4,
                "shots_on_target": 1,
                "total_pass": 26,
                "accurate_pass": 21,
                "key_pass": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083526.0,
              "match_date": "2026-05-04",
              "home_team": "Sevilla",
              "away_team": "Real Sociedad",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 75,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2839,
                "expected_assists": 0.0741,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 22,
                "accurate_pass": 18,
                "key_pass": 3,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083231.0,
              "match_date": "2026-04-26",
              "home_team": "Osasuna",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 76,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0433,
                "expected_assists": 0.0212,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 12,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083265.0,
              "match_date": "2026-04-23",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 83,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0933,
                "expected_assists": 0.0091,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 24,
                "accurate_pass": 19,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1980,
            "combined_rank_score": 765.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 292.0,
            "sofascore_rating": 7.05,
            "sofascore_appearances": 6.0,
            "fifa_rank": 1238.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.757,
            "source_file": "data/player_rankings.csv",
            "player_name": "Rubén Vargas",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Damien Da Silva",
                  "ranking": 1975
                },
                {
                  "player_name": "Joe Rodon",
                  "ranking": 1976
                },
                {
                  "player_name": "Senny Mayulu",
                  "ranking": 1977
                },
                {
                  "player_name": "Gerard Gumbau",
                  "ranking": 1978
                },
                {
                  "player_name": "Malik Tillman",
                  "ranking": 1979
                }
              ],
              "lower": [
                {
                  "player_name": "Norman Rodríguez",
                  "ranking": 1981
                },
                {
                  "player_name": "Elzio Lohan Alves Lucio",
                  "ranking": 1982
                },
                {
                  "player_name": "Byong-oh Kim",
                  "ranking": 1983
                },
                {
                  "player_name": "Irakli Bughridze",
                  "ranking": 1984
                },
                {
                  "player_name": "Axel Alfonzo",
                  "ranking": 1985
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.752,
          "history_matches": 27,
          "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": 27,
            "data_confidence": 0.752,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 23.16,
            "bench_appearance_prob": 0.729,
            "market_value_adjustment": 1.0029,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 21.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0133
            },
            "rationale": "Bench projection scaled from XGBoost F_service (27 historical appearances) to 23.2 expected mins (appearance prob 0.73); FBref playing time empirical prior: 1.0 sub appearances, 21.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.0683,
                "goals": 0.0822,
                "goal_rate": 0.0822,
                "shots_on_target": 0.2204,
                "total_shots": 0.7395,
                "expected_assists": 0.0681,
                "key_pass": 0.6526,
                "rating": 6.757,
                "minutes": 23.13,
                "total_pass": 14.1778,
                "accurate_pass": 11.6314,
                "duels_won": 1.5697,
                "total_long_balls": 0.905,
                "accurate_long_balls": 0.4956,
                "total_opp_half_passes": 8.2402,
                "accurate_opp_half_passes": 6.1533,
                "crosses_total": 1.2088,
                "crosses_accurate": 0.8694,
                "touches": 20.7115,
                "possession_lost": 4.2967,
                "dispossessed": 0.3219,
                "duels_lost": 1.0632,
                "aerial_lost": 0.0,
                "total_contest": 0.7003,
                "won_contest": 0.2548,
                "ball_recovery": 2.6987,
                "challenges_lost": 0.1479,
                "fouls": 0.1479,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.2958,
                "tackles_won": 0.4148,
                "tackles": 0.9672,
                "clearances": 0.2047,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0985,
                "offsides": 0.1479,
                "ball_carries": 4.8422,
                "total_progression": 24.1698,
                "progressive_carries": 1.5664,
                "shots_off_target": 0.5191
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:06:26.876327+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 612,
                    "rows": 17180
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.1519,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1291,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.1097,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Celta Vigo",
                    "minutes": 26.0,
                    "is_starting": false,
                    "weight": 0.0933,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Real Madrid",
                    "minutes": 54.0,
                    "is_starting": true,
                    "weight": 0.0793,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-13",
                    "opponent": "Villarreal",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0674,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Espanyol",
                    "minutes": 75.0,
                    "is_starting": true,
                    "weight": 0.0573,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-04",
                    "opponent": "Real Sociedad",
                    "minutes": 75.0,
                    "is_starting": true,
                    "weight": 0.0487,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-04-26",
                    "opponent": "Osasuna",
                    "minutes": 76.0,
                    "is_starting": true,
                    "weight": 0.0414,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-04-23",
                    "opponent": "Levante UD",
                    "minutes": 83.0,
                    "is_starting": true,
                    "weight": 0.0352,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "accuratePass": 15.0557,
                  "expectedGoals": 0.0828,
                  "accurateOppositionHalfPasses": 9.8758,
                  "totalShots": 1.37,
                  "totalOppositionHalfPasses": 13.3861
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.06826473772525787,
                    "model_output": 0.0683,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2767
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0987
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.036
                      },
                      {
                        "name": "goals",
                        "importance": 0.0336
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.1929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0768
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0173
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0079
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0047
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0043
                        }
                      ],
                      "others": -0.0136,
                      "total": 0.0683,
                      "log_link": true,
                      "margin_base": -1.645586,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.507841
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.161376
                        },
                        {
                          "name": "goals",
                          "margin": -0.083183
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.053046
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.050582
                        }
                      ],
                      "others_margin": -0.182748
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.0822090357542038,
                    "model_output": 0.0822,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1491
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0805
                      },
                      {
                        "name": "goals",
                        "importance": 0.056
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0343
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0288
                      }
                    ],
                    "decomposition": {
                      "base": 0.1972,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0802
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0126
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0058
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0051
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0039
                        }
                      ],
                      "others": -0.0074,
                      "total": 0.0822,
                      "log_link": true,
                      "margin_base": -1.623746,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.522585
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.114356
                        },
                        {
                          "name": "goals",
                          "margin": -0.057364
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": -0.053715
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.042454
                        }
                      ],
                      "others_margin": -0.084269
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.22042356431484222,
                    "model_output": 0.2204,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2173
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0637
                      },
                      {
                        "name": "goals",
                        "importance": 0.0596
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0393
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.5269,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2141
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0238
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0146
                        },
                        {
                          "name": "shot_waste_rate",
                          "contribution": 0.0144
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0137
                        }
                      ],
                      "others": -0.0547,
                      "total": 0.2204,
                      "log_link": true,
                      "margin_base": -0.640773,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.521358
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.078972
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.051948
                        },
                        {
                          "name": "shot_waste_rate",
                          "margin": 0.05103
                        },
                        {
                          "name": "goals",
                          "margin": -0.048453
                        }
                      ],
                      "others_margin": -0.221729
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.7394989132881165,
                    "model_output": 0.7395,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.3005
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0627
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0526
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0309
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0307
                      }
                    ],
                    "decomposition": {
                      "base": 1.3756,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4646
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0653
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0456
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0413
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0353
                        }
                      ],
                      "others": -0.0666,
                      "total": 0.7395,
                      "log_link": false,
                      "margin_base": 1.375643,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.464573
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.065252
                        },
                        {
                          "name": "goals",
                          "margin": -0.045629
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.041343
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.035264
                        }
                      ],
                      "others_margin": -0.066769
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.06812897324562073,
                    "model_output": 0.0681,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1287
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1119
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0634
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.051
                      }
                    ],
                    "decomposition": {
                      "base": 0.065,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0193
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0063
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0065
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0044
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0036
                        }
                      ],
                      "others": 0.0016,
                      "total": 0.0681,
                      "log_link": true,
                      "margin_base": -2.733324,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.351673
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.129654
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.117332
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.072381
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.055027
                        }
                      ],
                      "others_margin": 0.02425
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.6526399254798889,
                    "model_output": 0.6526,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1579
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1341
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0953
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.069
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0295
                      }
                    ],
                    "decomposition": {
                      "base": 0.6917,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.221
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0576
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0245
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0237
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.0227
                        }
                      ],
                      "others": 0.0534,
                      "total": 0.6526,
                      "log_link": true,
                      "margin_base": -0.368585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.384828
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.115504
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.045328
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.042035
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": 0.038683
                        }
                      ],
                      "others_margin": 0.085132
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.756976127624512,
                    "model_output": 6.757,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.048
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0462
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0455
                      },
                      {
                        "name": "rating",
                        "importance": 0.0455
                      }
                    ],
                    "decomposition": {
                      "base": 6.7733,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0612
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0224
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0115
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.009
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0086
                        }
                      ],
                      "others": -0.0066,
                      "total": 6.757,
                      "log_link": false,
                      "margin_base": 6.773334,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.061164
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.022428
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.011454
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.00896
                        },
                        {
                          "name": "touches",
                          "margin": 0.008573
                        }
                      ],
                      "others_margin": -0.006607
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 27,
                  "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.0029, quality 0.567)",
              "stats": {
                "expected_goals": 0.0685,
                "goals": 0.0824,
                "goal_rate": 0.0824,
                "shots_on_target": 0.2211,
                "total_shots": 0.7417,
                "expected_assists": 0.0683,
                "key_pass": 0.6545,
                "rating": 6.757,
                "minutes": 23.13,
                "total_pass": 14.2189,
                "accurate_pass": 11.6651,
                "duels_won": 1.5743,
                "total_long_balls": 0.9076,
                "accurate_long_balls": 0.497,
                "total_opp_half_passes": 8.2641,
                "accurate_opp_half_passes": 6.1711,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.8719,
                "touches": 20.7716,
                "possession_lost": 4.3092,
                "dispossessed": 0.3228,
                "duels_lost": 1.0663,
                "aerial_lost": 0.0,
                "total_contest": 0.7023,
                "won_contest": 0.2555,
                "ball_recovery": 2.7065,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.2967,
                "tackles_won": 0.416,
                "tackles": 0.97,
                "clearances": 0.2053,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0988,
                "offsides": 0.1483,
                "ball_carries": 4.8562,
                "total_progression": 24.2399,
                "progressive_carries": 1.5709,
                "shots_off_target": 0.5206
              },
              "params": {
                "market_value_eur": 13900000,
                "quality_factor": 0.5671,
                "boost_factor": 1.0029,
                "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.0014)",
              "stats": {
                "expected_goals": 0.0685,
                "goals": 0.0823,
                "goal_rate": 0.0823,
                "shots_on_target": 0.2208,
                "total_shots": 0.7422,
                "expected_assists": 0.0683,
                "key_pass": 0.6545,
                "rating": 6.757,
                "minutes": 23.13,
                "total_pass": 14.2189,
                "accurate_pass": 11.6651,
                "duels_won": 1.5743,
                "total_long_balls": 0.9076,
                "accurate_long_balls": 0.497,
                "total_opp_half_passes": 8.2641,
                "accurate_opp_half_passes": 6.1711,
                "crosses_total": 1.2107,
                "crosses_accurate": 0.8719,
                "touches": 20.7716,
                "possession_lost": 4.3092,
                "dispossessed": 0.3228,
                "duels_lost": 1.0663,
                "aerial_lost": 0.0,
                "total_contest": 0.7023,
                "won_contest": 0.2555,
                "ball_recovery": 2.7065,
                "challenges_lost": 0.1483,
                "fouls": 0.1481,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.2963,
                "tackles_won": 0.4154,
                "tackles": 0.97,
                "clearances": 0.2053,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0988,
                "offsides": 0.1481,
                "ball_carries": 4.8562,
                "total_progression": 24.2399,
                "progressive_carries": 1.5709,
                "shots_off_target": 0.5206
              },
              "params": {
                "blend_weight": 0.0014,
                "history_matches": 27,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.257,
                "prior_reliability": 0.0133,
                "competition": "La Liga",
                "squad": "Sevilla"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 23.1 to 23.2 expected minutes (appearance prob 0.73)",
              "stats": {
                "expected_goals": 0.0686,
                "goals": 0.0824,
                "goal_rate": 0.0824,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0684,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0989,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16
              },
              "params": {
                "expected_minutes": 23.16,
                "projection_minutes": 23.13,
                "minutes_scale": 1.0013,
                "appearance_probability": 0.729
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0686,
                "goals": 0.0824,
                "goal_rate": 0.0824,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0684,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0989,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16
              },
              "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.0686,
                "goal_rate": 0.0824,
                "goals": 0,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0684,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0989,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "expected_goals": 0.0901,
                "goal_rate": 0.0824,
                "goals": 0,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0802,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1299,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.1164,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 0.729
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0686,
                  "after": 0.0901
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0684,
                  "after": 0.0802
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 11 by projected rating, fifa_overall 78.0)",
              "stats": {
                "expected_goals": 0.0901,
                "goal_rate": 0.0824,
                "goals": 0,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0802,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1299,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.1164,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 11,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1980,
                "fifa_rank": 1238.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": {
                "expected_goals": 0.0901,
                "goal_rate": 0.0824,
                "goals": 0,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0802,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1299,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0848,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1164,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0848,
                "goal_rate": 0.0824,
                "scorer_weight": 0.1006,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0613,
                "finishing_factor": 1.1164,
                "appearance_weight": 0.729,
                "weight_rank": 8,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.0901,
                "goal_rate": 0.0824,
                "goals": 0,
                "shots_on_target": 0.2211,
                "total_shots": 0.7432,
                "expected_assists": 0.0802,
                "key_pass": 0.6553,
                "rating": 6.757,
                "minutes": 23.16,
                "total_pass": 14.2373,
                "accurate_pass": 11.6802,
                "duels_won": 1.5763,
                "total_long_balls": 0.9088,
                "accurate_long_balls": 0.4976,
                "total_opp_half_passes": 8.2748,
                "accurate_opp_half_passes": 6.1791,
                "crosses_total": 1.2123,
                "crosses_accurate": 0.873,
                "touches": 20.7985,
                "possession_lost": 4.3148,
                "dispossessed": 0.3228,
                "duels_lost": 1.0677,
                "aerial_lost": 0.0,
                "total_contest": 0.7032,
                "won_contest": 0.2558,
                "ball_recovery": 2.71,
                "challenges_lost": 0.1483,
                "fouls": 0.1483,
                "fouls_drawn": 0.0,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.2967,
                "tackles_won": 0.4159,
                "tackles": 0.9713,
                "clearances": 0.2056,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.1299,
                "offsides": 0.1481,
                "ball_carries": 4.8625,
                "total_progression": 24.2713,
                "progressive_carries": 1.5729,
                "shots_off_target": 0.5213,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 23.16,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0848,
                "projected_assists": 0,
                "assist_probability": 0.0759,
                "finishing_factor": 1.1164,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0759,
                "assist_rate": 0.0,
                "provider_weight": 0.0642,
                "squad_weight_total": 1.2113,
                "weight_share": 0.053,
                "creation_factor": 0.8,
                "appearance_weight": 0.729,
                "weight_rank": 9,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Manu Bueno": {
          "player_id": 1142094,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 14,
          "height": 178,
          "market_value": 1500000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.019,
            "assist_rate": 0.0232,
            "assists": 0,
            "expected_goals": 0.0316,
            "goal_rate": 0.0251,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6891,
            "minutes": 15,
            "total_pass": 8,
            "accurate_pass": 6,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 4,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 1.9319,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0393,
            "ball_carries": 3,
            "total_progression": 17,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.692,
            "bench_expected_minutes": 14.84,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.819,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0309,
            "projected_assists": 0,
            "assist_probability": 0.0187,
            "finishing_factor": 0.9973,
            "creation_factor": 1.0909,
            "fifa_overall": 67.0
          },
          "latest_10_games": [
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 19,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0382,
                "expected_assists": 0.0038,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 17,
                "accurate_pass": 15,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 34,
                "rating": 7.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.118,
                "expected_assists": 0.0056,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 15,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 19,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0371,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 3,
                "key_pass": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 8,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0441,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083265.0,
              "match_date": "2026-04-23",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 64,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.005,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 16,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083161.0,
              "match_date": "2026-04-11",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 70,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0176,
                "expected_assists": 0.0279,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 25,
                "accurate_pass": 20,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081814.0,
              "match_date": "2026-04-05",
              "home_team": "Real Oviedo",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 45,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0034,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 9,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083617.0,
              "match_date": "2026-03-15",
              "home_team": "FC Barcelona",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 12,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083127.0,
              "match_date": "2026-01-24",
              "home_team": "Sevilla",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 17,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 4,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083179.0,
              "match_date": "2025-12-14",
              "home_team": "Sevilla",
              "away_team": "Real Oviedo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1495,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 33,
                "key_pass": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 6557,
            "combined_rank_score": 4873.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 336.0,
            "sofascore_rating": 7.0,
            "sofascore_appearances": 1.0,
            "fifa_rank": 9410.0,
            "fifa_overall": 67.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6891,
            "source_file": "data/player_rankings.csv",
            "player_name": "Manu Bueno",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Xavi Espart",
                  "ranking": 6552
                },
                {
                  "player_name": "Maximilian Rohr",
                  "ranking": 6553
                },
                {
                  "player_name": "Ransford-Yeboah Königsdörffer",
                  "ranking": 6554
                },
                {
                  "player_name": "William Bøving",
                  "ranking": 6555
                },
                {
                  "player_name": "Sander Tangvik",
                  "ranking": 6556
                }
              ],
              "lower": [
                {
                  "player_name": "Armindo Sieb",
                  "ranking": 6558
                },
                {
                  "player_name": "Rav van den Berg",
                  "ranking": 6559
                },
                {
                  "player_name": "Laurent Jans",
                  "ranking": 6560
                },
                {
                  "player_name": "Lukas Pinckert",
                  "ranking": 6561
                },
                {
                  "player_name": "Tom Zimmerschied",
                  "ranking": 6562
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.751,
          "history_matches": 12,
          "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": 12,
            "data_confidence": 0.751,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 14.84,
            "bench_appearance_prob": 0.692,
            "market_value_adjustment": 0.994,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 9.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "Bench projection scaled from XGBoost M_service (12 historical appearances) to 14.8 expected mins (appearance prob 0.69); FBref playing time empirical prior: 1.0 sub appearances, 9.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.2398,
                "expected_assists": 0.0257,
                "assists": 0.035,
                "assist_rate": 0.035,
                "expected_goals": 0.0383,
                "goals": 0.0379,
                "goal_rate": 0.0379,
                "shots_on_target": 0.1266,
                "total_shots": 0.3989,
                "rating": 6.6891,
                "minutes": 22.28,
                "total_pass": 11.5077,
                "accurate_pass": 9.6412,
                "duels_won": 1.5967,
                "total_long_balls": 1.1129,
                "accurate_long_balls": 0.7688,
                "total_own_half_passes": 4.0953,
                "accurate_own_half_passes": 3.3982,
                "total_opp_half_passes": 7.4124,
                "accurate_opp_half_passes": 6.243,
                "crosses_total": 0.202,
                "crosses_accurate": 0.0433,
                "touches": 15.5647,
                "possession_lost": 2.918,
                "dispossessed": 0.0,
                "duels_lost": 1.3433,
                "aerial_won": 0.3816,
                "aerial_lost": 0.1349,
                "interceptions": 0.0,
                "tackles_won": 0.5307,
                "tackles": 0.6986,
                "clearances": 0.1812,
                "total_contest": 0.4805,
                "won_contest": 0.1868,
                "challenges_lost": 0.202,
                "fouls": 0.7127,
                "fouls_drawn": 0.3298,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0476,
                "ball_carries": 4.3901,
                "total_progression": 25.4674,
                "progressive_carries": 0.6986,
                "shots_off_target": 0.2723
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.1749,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 34.0,
                    "is_starting": false,
                    "weight": 0.1486,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.1263,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.1074,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-04-23",
                    "opponent": "Levante UD",
                    "minutes": 64.0,
                    "is_starting": true,
                    "weight": 0.0913,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-04-11",
                    "opponent": "Atlético Madrid",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.0776,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-04-05",
                    "opponent": "Real Oviedo",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.066,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-03-15",
                    "opponent": "FC Barcelona",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.0561,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-01-24",
                    "opponent": "Athletic Club",
                    "minutes": 17.0,
                    "is_starting": false,
                    "weight": 0.0477,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2025-12-14",
                    "opponent": "Real Oviedo",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0405,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 12.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.579,
                  "creative_index": 0.0955,
                  "expectedGoals": 0.0265,
                  "expectedAssists": 0.0209,
                  "keyPass": 0.2074
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.23980849981307983,
                    "model_output": 0.2398,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4347
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0507
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0413
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0343
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0165
                        }
                      ],
                      "others": -0.0729,
                      "total": 0.2398,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.67005
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.117958
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.107516
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.09924
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.051484
                        }
                      ],
                      "others_margin": -0.265369
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.025704286992549896,
                    "model_output": 0.0257,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0346
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0089
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0068
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0026
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0017
                        }
                      ],
                      "others": -0.0044,
                      "total": 0.0257,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.524972
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.195002
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.17949
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.077773
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.055134
                        }
                      ],
                      "others_margin": -0.159804
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.03496303781867027,
                    "model_output": 0.035,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0223
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0065
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0055
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0049
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0027
                        }
                      ],
                      "others": -0.0082,
                      "total": 0.035,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.303644
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.109507
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.102603
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.102124
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.060354
                        }
                      ],
                      "others_margin": -0.21176
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.03827457129955292,
                    "model_output": 0.0383,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0359
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.011
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0063
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0059
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0018
                        }
                      ],
                      "others": -0.0088,
                      "total": 0.0383,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.496067
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.21905
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.131426
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.122351
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.039988
                        }
                      ],
                      "others_margin": -0.208953
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.037924058735370636,
                    "model_output": 0.0379,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0386
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0084
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0065
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0043
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0022
                        }
                      ],
                      "others": -0.0053,
                      "total": 0.0379,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.525305
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.162998
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.147559
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.099121
                        },
                        {
                          "name": "shotValueNormalized",
                          "margin": -0.049032
                        }
                      ],
                      "others_margin": -0.128011
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.1266295462846756,
                    "model_output": 0.1266,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1305
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0375
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0152
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0083
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0084
                        }
                      ],
                      "others": -0.0248,
                      "total": 0.1266,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.528789
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.223148
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.106945
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.059891
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.056863
                        }
                      ],
                      "others_margin": -0.178276
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.398913711309433,
                    "model_output": 0.3989,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.392
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1913
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0338
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0215
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0209
                        }
                      ],
                      "others": -0.0359,
                      "total": 0.3989,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.391951
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.191283
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.033802
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.021492
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.020917
                        }
                      ],
                      "others_margin": -0.036014
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.6890997886657715,
                    "model_output": 6.6891,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0756
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0305
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0164
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0109
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0096
                        }
                      ],
                      "others": -0.0253,
                      "total": 6.6891,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.075629
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.030505
                        },
                        {
                          "name": "rating",
                          "margin": -0.016361
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.010946
                        },
                        {
                          "name": "shotValueNormalized",
                          "margin": -0.00959
                        }
                      ],
                      "others_margin": -0.025275
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 12,
                  "role_matches": 10,
                  "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": {
                "key_pass": 0.2384,
                "expected_assists": 0.0256,
                "assists": 0.0348,
                "assist_rate": 0.0348,
                "expected_goals": 0.038,
                "goals": 0.0377,
                "goal_rate": 0.0377,
                "shots_on_target": 0.1259,
                "total_shots": 0.3966,
                "rating": 6.6891,
                "minutes": 22.28,
                "total_pass": 11.4387,
                "accurate_pass": 9.5834,
                "duels_won": 1.5871,
                "total_long_balls": 1.1062,
                "accurate_long_balls": 0.7642,
                "total_own_half_passes": 4.0707,
                "accurate_own_half_passes": 3.3778,
                "total_opp_half_passes": 7.3679,
                "accurate_opp_half_passes": 6.2055,
                "crosses_total": 0.2008,
                "crosses_accurate": 0.043,
                "touches": 15.4713,
                "possession_lost": 2.9005,
                "dispossessed": 0.0,
                "duels_lost": 1.3352,
                "aerial_won": 0.3793,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.5275,
                "tackles": 0.6944,
                "clearances": 0.1801,
                "total_contest": 0.4776,
                "won_contest": 0.1857,
                "challenges_lost": 0.2008,
                "fouls": 0.7084,
                "fouls_drawn": 0.3278,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0473,
                "ball_carries": 4.3638,
                "total_progression": 25.3146,
                "progressive_carries": 0.6944,
                "shots_off_target": 0.2707
              },
              "params": {
                "market_value_eur": 1500000,
                "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.0013)",
              "stats": {
                "key_pass": 0.2384,
                "expected_assists": 0.0256,
                "assists": 0.0348,
                "assist_rate": 0.0348,
                "expected_goals": 0.038,
                "goals": 0.0377,
                "goal_rate": 0.0377,
                "shots_on_target": 0.1257,
                "total_shots": 0.3961,
                "rating": 6.6891,
                "minutes": 22.28,
                "total_pass": 11.4387,
                "accurate_pass": 9.5834,
                "duels_won": 1.5871,
                "total_long_balls": 1.1062,
                "accurate_long_balls": 0.7642,
                "total_own_half_passes": 4.0707,
                "accurate_own_half_passes": 3.3778,
                "total_opp_half_passes": 7.3679,
                "accurate_opp_half_passes": 6.2055,
                "crosses_total": 0.2005,
                "crosses_accurate": 0.043,
                "touches": 15.4713,
                "possession_lost": 2.9005,
                "dispossessed": 0.0,
                "duels_lost": 1.3352,
                "aerial_won": 0.3793,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.53,
                "tackles": 0.6944,
                "clearances": 0.1801,
                "total_contest": 0.4776,
                "won_contest": 0.1857,
                "challenges_lost": 0.2008,
                "fouls": 0.7075,
                "fouls_drawn": 0.3274,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0473,
                "ball_carries": 4.3638,
                "total_progression": 25.3146,
                "progressive_carries": 0.6944,
                "shots_off_target": 0.2707
              },
              "params": {
                "blend_weight": 0.0013,
                "history_matches": 12,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2476,
                "prior_reliability": 0.0067,
                "competition": "La Liga",
                "squad": "Sevilla"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 22.3 to 14.8 expected minutes (appearance prob 0.69)",
              "stats": {
                "key_pass": 0.1588,
                "expected_assists": 0.0171,
                "assists": 0.0232,
                "assist_rate": 0.0232,
                "expected_goals": 0.0253,
                "goals": 0.0251,
                "goal_rate": 0.0251,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0315,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84
              },
              "params": {
                "expected_minutes": 14.84,
                "projection_minutes": 22.28,
                "minutes_scale": 0.6661,
                "appearance_probability": 0.692
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.1588,
                "expected_assists": 0.0171,
                "assists": 0.0232,
                "assist_rate": 0.0232,
                "expected_goals": 0.0253,
                "goals": 0.0251,
                "goal_rate": 0.0251,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0315,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84
              },
              "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.1588,
                "expected_assists": 0.0171,
                "assist_rate": 0.0232,
                "assists": 0,
                "expected_goals": 0.0253,
                "goal_rate": 0.0251,
                "goals": 0,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0315,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "key_pass": 0.1588,
                "expected_assists": 0.019,
                "assist_rate": 0.0232,
                "assists": 0,
                "expected_goals": 0.0316,
                "goal_rate": 0.0251,
                "goals": 0,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0393,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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": 0.9973,
                "creation_factor": 1.0909
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 0.692
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0253,
                  "after": 0.0316
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 15 by projected rating, fifa_overall 67.0)",
              "stats": {
                "key_pass": 0.1588,
                "expected_assists": 0.019,
                "assist_rate": 0.0232,
                "assists": 0,
                "expected_goals": 0.0316,
                "goal_rate": 0.0251,
                "goals": 0,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0393,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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": 0.9973,
                "creation_factor": 1.0909,
                "fifa_overall": 67.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": 6557,
                "fifa_rank": 9410.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 67.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.1588,
                "expected_assists": 0.019,
                "assist_rate": 0.0232,
                "assists": 0,
                "expected_goals": 0.0316,
                "goal_rate": 0.0251,
                "goals": 0,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0393,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0309,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9973,
                "creation_factor": 1.0909,
                "fifa_overall": 67.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0309,
                "goal_rate": 0.0251,
                "scorer_weight": 0.0315,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0192,
                "finishing_factor": 0.9973,
                "appearance_weight": 0.692,
                "weight_rank": 12,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.1588,
                "expected_assists": 0.019,
                "assist_rate": 0.0232,
                "assists": 0,
                "expected_goals": 0.0316,
                "goal_rate": 0.0251,
                "goals": 0,
                "shots_on_target": 0.0837,
                "total_shots": 0.264,
                "rating": 6.6891,
                "minutes": 14.84,
                "total_pass": 7.619,
                "accurate_pass": 6.3832,
                "duels_won": 1.0571,
                "total_long_balls": 0.7368,
                "accurate_long_balls": 0.509,
                "total_own_half_passes": 2.7114,
                "accurate_own_half_passes": 2.2498,
                "total_opp_half_passes": 4.9075,
                "accurate_opp_half_passes": 4.1333,
                "crosses_total": 0.1335,
                "crosses_accurate": 0.0286,
                "touches": 10.3049,
                "possession_lost": 1.9319,
                "dispossessed": 0.0,
                "duels_lost": 0.8893,
                "aerial_won": 0.2526,
                "aerial_lost": 0.1341,
                "interceptions": 0.0,
                "tackles_won": 0.353,
                "tackles": 0.4625,
                "clearances": 0.12,
                "total_contest": 0.3181,
                "won_contest": 0.1237,
                "challenges_lost": 0.2008,
                "fouls": 0.4712,
                "fouls_drawn": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0393,
                "ball_carries": 2.9066,
                "total_progression": 16.8613,
                "progressive_carries": 0.4625,
                "shots_off_target": 0.1803,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 14.84,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0309,
                "projected_assists": 0,
                "assist_probability": 0.0187,
                "finishing_factor": 0.9973,
                "creation_factor": 1.0909,
                "fifa_overall": 67.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0187,
                "assist_rate": 0.0232,
                "provider_weight": 0.0207,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0171,
                "creation_factor": 1.0909,
                "appearance_weight": 0.692,
                "weight_rank": 12,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Lucas Stassin": {
          "player_id": 1126521,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 19,
          "height": 184,
          "market_value": 15700000,
          "stats": {
            "expected_goals": 0.1038,
            "goal_rate": 0.0993,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0195,
            "key_pass": 0,
            "rating": 6.6624,
            "minutes": 26,
            "total_pass": 12,
            "accurate_pass": 8,
            "duels_won": 3,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 19,
            "possession_lost": 6.7084,
            "dispossessed": 0.3101,
            "duels_lost": 3,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "assist_rate": 0.2187,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.2092,
            "offsides": 0,
            "ball_carries": 5,
            "total_progression": 15,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.586,
            "bench_expected_minutes": 25.88,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.819,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0951,
            "projected_assists": 0,
            "assist_probability": 0.0192,
            "finishing_factor": 1.0067,
            "creation_factor": 1.25,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16421093.0,
              "match_date": "2026-11-01 13:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Getafe",
              "away_team": "Sevilla",
              "home_score_current": 3.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16421085.0,
              "match_date": "2026-10-26",
              "home_team": "Sevilla",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 63,
                "rating": 6.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0758,
                "expected_assists": 0.0064,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 15,
                "accurate_pass": 10,
                "key_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421075.0,
              "match_date": "2026-10-18",
              "home_team": "Real Madrid",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 34,
                "rating": 6.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.0143,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 10,
                "key_pass": 2,
                "aerial_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416343.0,
              "match_date": "2026-09-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 76,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3319,
                "expected_assists": 0.0217,
                "total_shots": 4,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416330.0,
              "match_date": "2026-09-11",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {
                "minutes": 83,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0157,
                "expected_assists": 0.0132,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 7,
                "key_pass": 1,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 36,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3995,
                "expected_assists": 0.0007,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 6,
                "accurate_pass": 4,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3440,
            "combined_rank_score": 1429.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 2751.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6624,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucas Stassin",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Sebastiaan Bornauw",
                  "ranking": 3435
                },
                {
                  "player_name": "Lorenzo Melgarejo",
                  "ranking": 3436
                },
                {
                  "player_name": "Tomáš Chorý",
                  "ranking": 3437
                },
                {
                  "player_name": "Ferran Jutglà",
                  "ranking": 3438
                },
                {
                  "player_name": "César Tárrega",
                  "ranking": 3439
                }
              ],
              "lower": [
                {
                  "player_name": "Nelson Deossa",
                  "ranking": 3441
                },
                {
                  "player_name": "Filip Jörgensen",
                  "ranking": 3442
                },
                {
                  "player_name": "Luis Muriel",
                  "ranking": 3443
                },
                {
                  "player_name": "Ethan Nwaneri",
                  "ranking": 3444
                },
                {
                  "player_name": "Lucas Martínez Quarta",
                  "ranking": 3445
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.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.88355663750985,
            "bench_appearance_prob": 0.5856162107959023,
            "market_value_adjustment": 1.0123,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (5 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.103,
                "goals": 0.104,
                "goal_rate": 0.104,
                "shots_on_target": 0.3308,
                "total_shots": 0.8344,
                "expected_assists": 0.0218,
                "key_pass": 0.3226,
                "rating": 6.6624,
                "minutes": 27.46,
                "total_pass": 12.1248,
                "accurate_pass": 8.4639,
                "duels_won": 3.2968,
                "total_long_balls": 0.7049,
                "accurate_long_balls": 0.7049,
                "total_opp_half_passes": 8.7916,
                "accurate_opp_half_passes": 5.4618,
                "crosses_total": 0.1656,
                "crosses_accurate": 0.1656,
                "touches": 20.3821,
                "possession_lost": 7.0305,
                "dispossessed": 0.3063,
                "duels_lost": 3.3431,
                "aerial_lost": 1.9116,
                "total_contest": 1.1312,
                "won_contest": 0.7708,
                "ball_recovery": 1.4301,
                "challenges_lost": 0.3063,
                "fouls": 0.4584,
                "fouls_drawn": 0.5896,
                "assists": 0.2292,
                "assist_rate": 0.2292,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1948,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5545,
                "xgot": 0.2076,
                "offsides": 0.0,
                "ball_carries": 4.804,
                "total_progression": 15.8146,
                "progressive_carries": 0.3896,
                "shots_off_target": 0.5036
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:06:26.876327+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 612,
                    "rows": 17180
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-26",
                    "opponent": "Osasuna",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Real Madrid",
                    "minutes": 34.0,
                    "is_starting": false,
                    "weight": 0.2292,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 76.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-11",
                    "opponent": "Valencia",
                    "minutes": 83.0,
                    "is_starting": true,
                    "weight": 0.1656,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 0.1408,
                    "rating": 7.4
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 0.0,
                  "accuratePass": 8.4639,
                  "expectedGoals": 0.1439,
                  "accurateOppositionHalfPasses": 5.4618,
                  "totalShots": 1.496,
                  "totalOppositionHalfPasses": 8.7916
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.1029844880104065,
                    "model_output": 0.103,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2767
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0987
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.036
                      },
                      {
                        "name": "goals",
                        "importance": 0.0336
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.1929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0842
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0103
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0077
                        },
                        {
                          "name": "aerialLost",
                          "contribution": 0.0036
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": 0.0036
                        }
                      ],
                      "others": 0.0051,
                      "total": 0.103,
                      "log_link": true,
                      "margin_base": -1.645586,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.573308
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.099747
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.081673
                        },
                        {
                          "name": "aerialLost",
                          "margin": 0.039091
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": 0.037614
                        }
                      ],
                      "others_margin": 0.050433
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.1040177121758461,
                    "model_output": 0.104,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1491
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0805
                      },
                      {
                        "name": "goals",
                        "importance": 0.056
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0343
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0288
                      }
                    ],
                    "decomposition": {
                      "base": 0.1972,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0817
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0117
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0082
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0059
                        },
                        {
                          "name": "shot_waste_rate",
                          "contribution": 0.0056
                        }
                      ],
                      "others": -0.0031,
                      "total": 0.104,
                      "log_link": true,
                      "margin_base": -1.623746,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.534775
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.106667
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.082098
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.05944
                        },
                        {
                          "name": "shot_waste_rate",
                          "margin": 0.053799
                        }
                      ],
                      "others_margin": -0.029147
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.33079320192337036,
                    "model_output": 0.3308,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2173
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0637
                      },
                      {
                        "name": "goals",
                        "importance": 0.0596
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0393
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.5269,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2129
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0115
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0112
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0088
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0073
                        }
                      ],
                      "others": 0.0102,
                      "total": 0.3308,
                      "log_link": true,
                      "margin_base": -0.640773,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.517544
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.035865
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.033904
                        },
                        {
                          "name": "goals",
                          "margin": -0.026536
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.022404
                        }
                      ],
                      "others_margin": 0.031226
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.8343659043312073,
                    "model_output": 0.8344,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.3005
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0627
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0526
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0309
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0307
                      }
                    ],
                    "decomposition": {
                      "base": 1.3756,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.5756
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.035
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.034
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": 0.0283
                        },
                        {
                          "name": "history_matches",
                          "contribution": -0.0253
                        }
                      ],
                      "others": 0.0304,
                      "total": 0.8344,
                      "log_link": false,
                      "margin_base": 1.375643,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.575563
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.034994
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.034036
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": 0.028268
                        },
                        {
                          "name": "history_matches",
                          "margin": -0.025301
                        }
                      ],
                      "others_margin": 0.030361
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.021778784692287445,
                    "model_output": 0.0218,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1287
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1119
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0634
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.051
                      }
                    ],
                    "decomposition": {
                      "base": 0.065,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0198
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0096
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0041
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0032
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0024
                        }
                      ],
                      "others": -0.0041,
                      "total": 0.0218,
                      "log_link": true,
                      "margin_base": -2.733324,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.362244
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.239652
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.123311
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.107583
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.090003
                        }
                      ],
                      "others_margin": -0.170703
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.32262349128723145,
                    "model_output": 0.3226,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1579
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1341
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0953
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.069
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0295
                      }
                    ],
                    "decomposition": {
                      "base": 0.6917,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2512
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0355
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0225
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0191
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0186
                        }
                      ],
                      "others": -0.0594,
                      "total": 0.3226,
                      "log_link": true,
                      "margin_base": -0.368585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.451213
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.083946
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.05716
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.051282
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.049913
                        }
                      ],
                      "others_margin": -0.168997
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.662362098693848,
                    "model_output": 6.6624,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.048
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0462
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0455
                      },
                      {
                        "name": "rating",
                        "importance": 0.0455
                      }
                    ],
                    "decomposition": {
                      "base": 6.7733,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0576
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0113
                        },
                        {
                          "name": "touches",
                          "contribution": -0.0099
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0098
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": 0.0092
                        }
                      ],
                      "others": -0.0315,
                      "total": 6.6624,
                      "log_link": false,
                      "margin_base": 6.773334,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.057609
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.011309
                        },
                        {
                          "name": "touches",
                          "margin": -0.009885
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.009754
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": 0.009213
                        }
                      ],
                      "others_margin": -0.031627
                    }
                  }
                ],
                "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 1.0123, quality 0.587)",
              "stats": {
                "expected_goals": 0.1043,
                "goals": 0.1053,
                "goal_rate": 0.1053,
                "shots_on_target": 0.3349,
                "total_shots": 0.8447,
                "expected_assists": 0.022,
                "key_pass": 0.3266,
                "rating": 6.6624,
                "minutes": 27.46,
                "total_pass": 12.2739,
                "accurate_pass": 8.568,
                "duels_won": 3.3374,
                "total_long_balls": 0.7136,
                "accurate_long_balls": 0.7136,
                "total_opp_half_passes": 8.8997,
                "accurate_opp_half_passes": 5.529,
                "crosses_total": 0.1676,
                "crosses_accurate": 0.1676,
                "touches": 20.6328,
                "possession_lost": 7.117,
                "dispossessed": 0.3101,
                "duels_lost": 3.3842,
                "aerial_lost": 1.9351,
                "total_contest": 1.1451,
                "won_contest": 0.7803,
                "ball_recovery": 1.4477,
                "challenges_lost": 0.3101,
                "fouls": 0.464,
                "fouls_drawn": 0.5969,
                "assists": 0.232,
                "assist_rate": 0.232,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1972,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5613,
                "xgot": 0.2102,
                "offsides": 0.0,
                "ball_carries": 4.8631,
                "total_progression": 16.0091,
                "progressive_carries": 0.3944,
                "shots_off_target": 0.5098
              },
              "params": {
                "market_value_eur": 15700000,
                "quality_factor": 0.5868,
                "boost_factor": 1.0123,
                "reference_quality": 0.505,
                "history_matches": 5,
                "history_shrink": 0.5,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 27.5 to 25.9 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.0983,
                "goals": 0.0993,
                "goal_rate": 0.0993,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0207,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assists": 0.2187,
                "assist_rate": 0.2187,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.1981,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88
              },
              "params": {
                "expected_minutes": 25.88,
                "projection_minutes": 27.46,
                "minutes_scale": 0.9426,
                "appearance_probability": 0.586
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0983,
                "goals": 0.0993,
                "goal_rate": 0.0993,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0207,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assists": 0.2187,
                "assist_rate": 0.2187,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.1981,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "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 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.0983,
                "goal_rate": 0.0993,
                "goals": 0,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0207,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assist_rate": 0.2187,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.1981,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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 1.60 (squad xG sum 0.8900, xG scale 1.8022, xA scale 1.6080, team xA 1.28 = 0.80 x lambda)",
              "stats": {
                "expected_goals": 0.1038,
                "goal_rate": 0.0993,
                "goals": 0,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0195,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assist_rate": 0.2187,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.2092,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.0067,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.604,
                "squad_xg_sum": 0.89,
                "squad_xa_sum": 0.798,
                "team_expected_assists": 1.2832,
                "team_xa_to_xg_ratio": 0.8,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8022,
                "xa_scale": 1.608,
                "opponent_lambda": 1.379,
                "scoreline_reset": true,
                "appearance_weight": 0.586
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0983,
                  "after": 0.1038
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 16 by projected rating, fifa_overall 74.0)",
              "stats": {
                "expected_goals": 0.1038,
                "goal_rate": 0.0993,
                "goals": 0,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0195,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assist_rate": 0.2187,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.2092,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "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.0067,
                "creation_factor": 1.25,
                "fifa_overall": 74.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": 3440,
                "fifa_rank": 2751.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 74.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.1038,
                "goal_rate": 0.0993,
                "goals": 0,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0195,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assist_rate": 0.2187,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.2092,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0951,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0067,
                "creation_factor": 1.25,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0951,
                "goal_rate": 0.0993,
                "scorer_weight": 0.1045,
                "squad_weight_total": 1.6415,
                "weight_share": 0.0637,
                "finishing_factor": 1.0067,
                "appearance_weight": 0.586,
                "weight_rank": 7,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Miguel Sierra",
                    "weight": 0.287,
                    "already": 0,
                    "effective_weight": 0.287,
                    "runner_up": "Youssouf Fofana",
                    "runner_up_effective_weight": 0.2755
                  },
                  {
                    "n": 2,
                    "player": "Youssouf Fofana",
                    "weight": 0.2755,
                    "already": 0,
                    "effective_weight": 0.2755,
                    "runner_up": "Peque Fernández",
                    "runner_up_effective_weight": 0.1887
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.1038,
                "goal_rate": 0.0993,
                "goals": 0,
                "shots_on_target": 0.3157,
                "total_shots": 0.7962,
                "expected_assists": 0.0195,
                "key_pass": 0.3079,
                "rating": 6.6624,
                "minutes": 25.88,
                "total_pass": 11.5693,
                "accurate_pass": 8.0761,
                "duels_won": 3.1458,
                "total_long_balls": 0.6726,
                "accurate_long_balls": 0.6726,
                "total_opp_half_passes": 8.3888,
                "accurate_opp_half_passes": 5.2116,
                "crosses_total": 0.158,
                "crosses_accurate": 0.158,
                "touches": 19.4483,
                "possession_lost": 6.7084,
                "dispossessed": 0.3101,
                "duels_lost": 3.1899,
                "aerial_lost": 1.9351,
                "total_contest": 1.0794,
                "won_contest": 0.7355,
                "ball_recovery": 1.3646,
                "challenges_lost": 0.3101,
                "fouls": 0.4374,
                "fouls_drawn": 0.5626,
                "assist_rate": 0.2187,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.1859,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.5291,
                "xgot": 0.2092,
                "offsides": 0.0,
                "ball_carries": 4.5839,
                "total_progression": 15.09,
                "progressive_carries": 0.3718,
                "shots_off_target": 0.4805,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.819,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0951,
                "projected_assists": 0,
                "assist_probability": 0.0192,
                "finishing_factor": 1.0067,
                "creation_factor": 1.25,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0192,
                "assist_rate": 0.2187,
                "provider_weight": 0.0244,
                "squad_weight_total": 1.2113,
                "weight_share": 0.0201,
                "creation_factor": 1.25,
                "appearance_weight": 0.586,
                "weight_rank": 11,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Youssouf Fofana",
                    "weight": 0.2247,
                    "already": 0,
                    "effective_weight": 0.2247,
                    "runner_up": "Gabriel Suazo",
                    "runner_up_effective_weight": 0.1849
                  },
                  {
                    "n": 2,
                    "player": "Gabriel Suazo",
                    "weight": 0.1849,
                    "already": 0,
                    "effective_weight": 0.1849,
                    "runner_up": "Giorgi Kochorashvili",
                    "runner_up_effective_weight": 0.1394,
                    "blocked_own_goal": [
                      "Youssouf Fofana"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 2,
        "expected_goals": 1.6,
        "expected_assists": 1.28,
        "total_shots": 13,
        "shots_on_target": 2,
        "total_passes": 381,
        "interceptions": 6,
        "tackles": 21,
        "avg_rating": 6.83,
        "possession_estimated_pct": 50.8,
        "pressing_actions_per_90": 6.8
      }
    },
    "Alavés": {
      "formation": "5-3-2",
      "players": {
        "Antonio Sivera": {
          "player_id": 369004,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 1,
          "height": 184,
          "market_value": 5600000,
          "stats": {
            "saves": 3,
            "goals_prevented": -0.1155,
            "rating": 7.068,
            "minutes": 90,
            "total_pass": 26,
            "accurate_pass": 15,
            "total_long_balls": 19,
            "accurate_long_balls": 8,
            "touches": 35,
            "clearances": 1,
            "ball_recovery": 9,
            "high_claims": 1,
            "punches": 0.6265,
            "aerial_won": 0,
            "sweeper_actions": 1,
            "sweeper_accurate": 1,
            "saves_inside_box": 1,
            "possession_lost": 10.9229,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 9,
            "accurate_own_half_passes": 8,
            "gk_engine_opponent_lambda": 1.5624,
            "shots_faced": 15.2,
            "expected_saves": 3.72,
            "high_pressure_saves": 1.28,
            "opponent_faced": "Youssouf Fofana, Miguel Sierra",
            "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": 85.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 4.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 23,
                "accurate_pass": 10,
                "key_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 7,
                "saves": 1,
                "goals_prevented": -2.3888
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "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": 21,
                "accurate_pass": 20,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 6,
                "saves": 2,
                "goals_prevented": -0.3293
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0063,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 18,
                "ball_recovery": 7,
                "saves": 1,
                "goals_prevented": -0.3989
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 13,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 14,
                "saves": 5,
                "goals_prevented": -0.8983
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 8.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0028,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 13,
                "ball_recovery": 15,
                "saves": 6,
                "goals_prevented": 0.9777
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0019,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 17,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 9,
                "saves": 2,
                "goals_prevented": -0.1845
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0103,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 15,
                "clearances": 1,
                "ball_recovery": 6,
                "saves": 2,
                "goals_prevented": 0.1349
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.0104,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 19,
                "key_pass": 1,
                "clearances": 1,
                "ball_recovery": 4,
                "saves": 3,
                "goals_prevented": -0.1219
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0044,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 15,
                "clearances": 1,
                "ball_recovery": 9,
                "saves": 6,
                "goals_prevented": 0.663
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 13,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 6,
                "saves": 2,
                "goals_prevented": 0.0097
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 194,
            "combined_rank_score": 156.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 157.0,
            "sofascore_rating": 7.3,
            "sofascore_appearances": 3.0,
            "fifa_rank": 156.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.068,
            "source_file": "data/player_rankings.csv",
            "player_name": "Antonio Sivera",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Renzo Malanca",
                  "ranking": 189
                },
                {
                  "player_name": "Andy Robertson",
                  "ranking": 190
                },
                {
                  "player_name": "Nicolás de la Cruz",
                  "ranking": 191
                },
                {
                  "player_name": "Osmar Barba",
                  "ranking": 192
                },
                {
                  "player_name": "Yarden Shua",
                  "ranking": 193
                }
              ],
              "lower": [
                {
                  "player_name": "Igor Lichnovsky",
                  "ranking": 195
                },
                {
                  "player_name": "Luis Rojas",
                  "ranking": 196
                },
                {
                  "player_name": "Armandas Kučys",
                  "ranking": 197
                },
                {
                  "player_name": "Javier Hernández",
                  "ranking": 198
                },
                {
                  "player_name": "Daler Tukhsanov",
                  "ranking": 199
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 49,
          "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": 49,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.999,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "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 49 historical appearances across 3 target models; FBref 2026-2027 prior blended (La Liga, Alavés, 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.8304,
                "goals_prevented": -0.1156,
                "rating": 7.068,
                "minutes": 90.0,
                "total_pass": 26.047,
                "accurate_pass": 15.2727,
                "total_long_balls": 18.9279,
                "accurate_long_balls": 8.2121,
                "touches": 35.471,
                "clearances": 1.2705,
                "ball_recovery": 8.6331,
                "high_claims": 0.7164,
                "punches": 0.6271,
                "aerial_won": 0.298,
                "sweeper_actions": 0.8832,
                "sweeper_accurate": 0.8832,
                "saves_inside_box": 1.3536,
                "possession_lost": 10.9338,
                "duels_won": 0.3709,
                "duels_lost": 0.0248,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0004,
                "fouls_drawn": 0.0042,
                "total_own_half_passes": 9.1827,
                "accurate_own_half_passes": 8.0419
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 5,
                  "trained_at": "2026-11-03T11:03:54.268655+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 201,
                    "rows": 7418
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 4.3
                  },
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1275,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1084,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0783,
                    "rating": 8.6
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "accurateOwnHalfPasses": 8.0419,
                  "accurateLongBalls": 8.2121,
                  "possessionLostCtrl": 10.9338,
                  "goalkeeperValueNormalized": -0.1834,
                  "sweeper_accuracy": 0.5433,
                  "accurateKeeperSweeper": 0.8832
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.830380439758301,
                    "model_output": 2.8304,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "save_contribution",
                        "importance": 0.0391
                      },
                      {
                        "name": "goalsPrevented",
                        "importance": 0.0375
                      },
                      {
                        "name": "savedShotsFromInsideTheBox",
                        "importance": 0.0373
                      },
                      {
                        "name": "accurateLongBalls",
                        "importance": 0.0364
                      },
                      {
                        "name": "rating",
                        "importance": 0.0359
                      }
                    ],
                    "decomposition": {
                      "base": 2.922,
                      "items": [
                        {
                          "name": "savedShotsFromInsideTheBox",
                          "contribution": -0.0649
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.023
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0204
                        },
                        {
                          "name": "accurateLongBalls",
                          "contribution": 0.0182
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0177
                        }
                      ],
                      "others": -0.0246,
                      "total": 2.8304,
                      "log_link": true,
                      "margin_base": 1.072276,
                      "item_margins": [
                        {
                          "name": "savedShotsFromInsideTheBox",
                          "margin": -0.022475
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.008079
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.007185
                        },
                        {
                          "name": "accurateLongBalls",
                          "margin": 0.006365
                        },
                        {
                          "name": "rating",
                          "margin": -0.006163
                        }
                      ],
                      "others_margin": -0.008697
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": -0.11564695090055466,
                    "model_output": -0.1156,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0381
                      },
                      {
                        "name": "totalOwnHalfPasses",
                        "importance": 0.0373
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0364
                      },
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0359
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0355
                      }
                    ],
                    "decomposition": {
                      "base": -0.0283,
                      "items": [
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0336
                        },
                        {
                          "name": "accurateLongBalls",
                          "contribution": -0.0288
                        },
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": -0.0271
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": 0.0265
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0252
                        }
                      ],
                      "others": 0.0009,
                      "total": -0.1156,
                      "log_link": false,
                      "margin_base": -0.028288,
                      "item_margins": [
                        {
                          "name": "pass_accuracy",
                          "margin": -0.033552
                        },
                        {
                          "name": "accurateLongBalls",
                          "margin": -0.0288
                        },
                        {
                          "name": "sweeper_actions_p90",
                          "margin": -0.027124
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": 0.026474
                        },
                        {
                          "name": "long_ball_accuracy",
                          "margin": -0.025191
                        }
                      ],
                      "others_margin": 0.000834
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.067986488342285,
                    "model_output": 7.068,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0399
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0395
                      },
                      {
                        "name": "goalkeeperValueNormalized",
                        "importance": 0.0383
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0383
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0363
                      }
                    ],
                    "decomposition": {
                      "base": 6.9871,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.0569
                        },
                        {
                          "name": "totalKeeperSweeper",
                          "contribution": 0.0251
                        },
                        {
                          "name": "totalOwnHalfPasses",
                          "contribution": -0.0209
                        },
                        {
                          "name": "save_contribution",
                          "contribution": 0.02
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": 0.0191
                        }
                      ],
                      "others": -0.0193,
                      "total": 7.068,
                      "log_link": false,
                      "margin_base": 6.987111,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.056863
                        },
                        {
                          "name": "totalKeeperSweeper",
                          "margin": 0.025071
                        },
                        {
                          "name": "totalOwnHalfPasses",
                          "margin": -0.020901
                        },
                        {
                          "name": "save_contribution",
                          "margin": 0.019991
                        },
                        {
                          "name": "long_ball_accuracy",
                          "margin": 0.019086
                        }
                      ],
                      "others_margin": -0.019234
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 49,
                  "role_matches": 49,
                  "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.9990, quality 0.470)",
              "stats": {
                "saves": 2.8276,
                "goals_prevented": -0.1155,
                "rating": 7.068,
                "minutes": 90.0,
                "total_pass": 26.021,
                "accurate_pass": 15.2574,
                "total_long_balls": 18.909,
                "accurate_long_balls": 8.2039,
                "touches": 35.4355,
                "clearances": 1.2692,
                "ball_recovery": 8.6245,
                "high_claims": 0.7157,
                "punches": 0.6265,
                "aerial_won": 0.2977,
                "sweeper_actions": 0.8823,
                "sweeper_accurate": 0.8823,
                "saves_inside_box": 1.3522,
                "possession_lost": 10.9229,
                "duels_won": 0.3705,
                "duels_lost": 0.0248,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0004,
                "fouls_drawn": 0.0042,
                "total_own_half_passes": 9.1735,
                "accurate_own_half_passes": 8.0339
              },
              "params": {
                "market_value_eur": 5600000,
                "quality_factor": 0.4695,
                "boost_factor": 0.999,
                "reference_quality": 0.505,
                "history_matches": 49,
                "history_shrink": 0.0926,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0120)",
              "stats": {
                "saves": 2.8337,
                "goals_prevented": -0.1155,
                "rating": 7.068,
                "minutes": 90.0,
                "total_pass": 26.021,
                "accurate_pass": 15.2574,
                "total_long_balls": 18.909,
                "accurate_long_balls": 8.2039,
                "touches": 35.4355,
                "clearances": 1.2692,
                "ball_recovery": 8.6245,
                "high_claims": 0.7157,
                "punches": 0.6265,
                "aerial_won": 0.2977,
                "sweeper_actions": 0.8823,
                "sweeper_accurate": 0.8823,
                "saves_inside_box": 1.3522,
                "possession_lost": 10.9229,
                "duels_won": 0.3705,
                "duels_lost": 0.0248,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0004,
                "fouls_drawn": 0.0041,
                "total_own_half_passes": 9.1735,
                "accurate_own_half_passes": 8.0339
              },
              "params": {
                "blend_weight": 0.012,
                "history_matches": 49,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 1.0,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Alavés"
              },
              "changes": [
                {
                  "stat": "saves",
                  "before": 2.8276,
                  "after": 2.8337
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 2.8337,
                "goals_prevented": -0.1155,
                "rating": 7.068,
                "minutes": 90.0,
                "total_pass": 26.021,
                "accurate_pass": 15.2574,
                "total_long_balls": 18.909,
                "accurate_long_balls": 8.2039,
                "touches": 35.4355,
                "clearances": 1.2692,
                "ball_recovery": 8.6245,
                "high_claims": 0.7157,
                "punches": 0.6265,
                "aerial_won": 0.2977,
                "sweeper_actions": 0.8823,
                "sweeper_accurate": 0.8823,
                "saves_inside_box": 1.3522,
                "possession_lost": 10.9229,
                "duels_won": 0.3705,
                "duels_lost": 0.0248,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0004,
                "fouls_drawn": 0.0041,
                "total_own_half_passes": 9.1735,
                "accurate_own_half_passes": 8.0339
              },
              "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.8337,
                "goals_prevented": -0.1155,
                "rating": 7.068,
                "minutes": 90.0,
                "total_pass": 26.021,
                "accurate_pass": 15.2574,
                "total_long_balls": 18.909,
                "accurate_long_balls": 8.2039,
                "touches": 35.4355,
                "clearances": 1.2692,
                "ball_recovery": 8.6245,
                "high_claims": 0.7157,
                "punches": 0.6265,
                "aerial_won": 0.2977,
                "sweeper_actions": 0.8823,
                "sweeper_accurate": 0.8823,
                "saves_inside_box": 1.3522,
                "possession_lost": 10.9229,
                "duels_won": 0.3705,
                "duels_lost": 0.0248,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0004,
                "fouls_drawn": 0.0041,
                "total_own_half_passes": 9.1735,
                "accurate_own_half_passes": 8.0339,
                "gk_engine_opponent_lambda": 1.5624,
                "shots_faced": 14.8,
                "expected_saves": 3.62,
                "high_pressure_saves": 1.25,
                "opponent_faced": "Youssouf Fofana, Miguel Sierra",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Youssouf Fofana, Miguel Sierra",
                  "matchup_zone": "Goalkeeper shot-stopping context",
                  "opponent_lambda": 1.5624
                }
              }
            },
            {
              "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.8337,
                "goals_prevented": -0.1155,
                "rating": 7.068,
                "minutes": 90.0,
                "total_pass": 26.021,
                "accurate_pass": 15.2574,
                "total_long_balls": 18.909,
                "accurate_long_balls": 8.2039,
                "touches": 35.4355,
                "clearances": 1.2692,
                "ball_recovery": 8.6245,
                "high_claims": 0.7157,
                "punches": 0.6265,
                "aerial_won": 0.2977,
                "sweeper_actions": 0.8823,
                "sweeper_accurate": 0.8823,
                "saves_inside_box": 1.3522,
                "possession_lost": 10.9229,
                "duels_won": 0.3705,
                "duels_lost": 0.0248,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0004,
                "fouls_drawn": 0.0041,
                "total_own_half_passes": 9.1735,
                "accurate_own_half_passes": 8.0339,
                "gk_engine_opponent_lambda": 1.5624,
                "shots_faced": 14.8,
                "expected_saves": 3.62,
                "high_pressure_saves": 1.25,
                "opponent_faced": "Youssouf Fofana, Miguel Sierra",
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "saves": 2.8337,
                "goals_prevented": -0.1155,
                "rating": 7.068,
                "minutes": 90.0,
                "total_pass": 26.021,
                "accurate_pass": 15.2574,
                "total_long_balls": 18.909,
                "accurate_long_balls": 8.2039,
                "touches": 35.4355,
                "clearances": 1.2692,
                "ball_recovery": 8.6245,
                "high_claims": 0.7157,
                "punches": 0.6265,
                "aerial_won": 0.2977,
                "sweeper_actions": 0.8823,
                "sweeper_accurate": 0.8823,
                "saves_inside_box": 1.3522,
                "possession_lost": 10.9229,
                "duels_won": 0.3705,
                "duels_lost": 0.0248,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0004,
                "fouls_drawn": 0.0041,
                "total_own_half_passes": 9.1735,
                "accurate_own_half_passes": 8.0339,
                "gk_engine_opponent_lambda": 1.5624,
                "shots_faced": 15.2,
                "expected_saves": 3.72,
                "high_pressure_saves": 1.28,
                "opponent_faced": "Youssouf Fofana, Miguel Sierra",
                "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.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "shots_faced",
                  "before": 14.8,
                  "after": 15.2
                },
                {
                  "stat": "expected_saves",
                  "before": 3.62,
                  "after": 3.72
                },
                {
                  "stat": "high_pressure_saves",
                  "before": 1.25,
                  "after": 1.28
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 1 by projected rating, fifa_overall 85.0)",
              "stats": {
                "saves": 2.8337,
                "goals_prevented": -0.1155,
                "rating": 7.068,
                "minutes": 90.0,
                "total_pass": 26.021,
                "accurate_pass": 15.2574,
                "total_long_balls": 18.909,
                "accurate_long_balls": 8.2039,
                "touches": 35.4355,
                "clearances": 1.2692,
                "ball_recovery": 8.6245,
                "high_claims": 0.7157,
                "punches": 0.6265,
                "aerial_won": 0.2977,
                "sweeper_actions": 0.8823,
                "sweeper_accurate": 0.8823,
                "saves_inside_box": 1.3522,
                "possession_lost": 10.9229,
                "duels_won": 0.3705,
                "duels_lost": 0.0248,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0004,
                "fouls_drawn": 0.0041,
                "total_own_half_passes": 9.1735,
                "accurate_own_half_passes": 8.0339,
                "gk_engine_opponent_lambda": 1.5624,
                "shots_faced": 15.2,
                "expected_saves": 3.72,
                "high_pressure_saves": 1.28,
                "opponent_faced": "Youssouf Fofana, Miguel Sierra",
                "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": 85.0
              },
              "params": {
                "match_squad_rank": 1,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 194,
                "fifa_rank": 156.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "saves": 2.8337,
                "goals_prevented": -0.1155,
                "rating": 7.068,
                "minutes": 90.0,
                "total_pass": 26.021,
                "accurate_pass": 15.2574,
                "total_long_balls": 18.909,
                "accurate_long_balls": 8.2039,
                "touches": 35.4355,
                "clearances": 1.2692,
                "ball_recovery": 8.6245,
                "high_claims": 0.7157,
                "punches": 0.6265,
                "aerial_won": 0.2977,
                "sweeper_actions": 0.8823,
                "sweeper_accurate": 0.8823,
                "saves_inside_box": 1.3522,
                "possession_lost": 10.9229,
                "duels_won": 0.3705,
                "duels_lost": 0.0248,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0004,
                "fouls_drawn": 0.0041,
                "total_own_half_passes": 9.1735,
                "accurate_own_half_passes": 8.0339,
                "gk_engine_opponent_lambda": 1.5624,
                "shots_faced": 15.2,
                "expected_saves": 3.72,
                "high_pressure_saves": 1.28,
                "opponent_faced": "Youssouf Fofana, Miguel Sierra",
                "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": 85.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.0,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0,
                "finishing_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.8337,
                "goals_prevented": -0.1155,
                "rating": 7.068,
                "minutes": 90.0,
                "total_pass": 26.021,
                "accurate_pass": 15.2574,
                "total_long_balls": 18.909,
                "accurate_long_balls": 8.2039,
                "touches": 35.4355,
                "clearances": 1.2692,
                "ball_recovery": 8.6245,
                "high_claims": 0.7157,
                "punches": 0.6265,
                "aerial_won": 0.2977,
                "sweeper_actions": 0.8823,
                "sweeper_accurate": 0.8823,
                "saves_inside_box": 1.3522,
                "possession_lost": 10.9229,
                "duels_won": 0.3705,
                "duels_lost": 0.0248,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0004,
                "fouls_drawn": 0.0041,
                "total_own_half_passes": 9.1735,
                "accurate_own_half_passes": 8.0339,
                "gk_engine_opponent_lambda": 1.5624,
                "shots_faced": 15.2,
                "expected_saves": 3.72,
                "high_pressure_saves": 1.28,
                "opponent_faced": "Youssouf Fofana, Miguel Sierra",
                "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": 85.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0,
                "creation_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Nahuel Tenaglia": {
          "player_id": 896073,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 14,
          "height": 182,
          "market_value": 3200000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "total_shots": 1,
            "rating": 6.7416,
            "minutes": 88,
            "total_pass": 33,
            "accurate_pass": 28,
            "duels_won": 5,
            "total_long_balls": 4,
            "accurate_long_balls": 1,
            "total_own_half_passes": 19,
            "accurate_own_half_passes": 17,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 11,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 53,
            "possession_lost": 9.8205,
            "dispossessed": 0.688,
            "duels_lost": 4,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0498,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0748,
            "expected_assists": 0.0477,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.054,
            "ball_carries": 13,
            "total_progression": 64,
            "progressive_carries": 1,
            "key_pass": 0,
            "shots_off_target": 1,
            "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.5,
            "defensive_success_rate": 0.734,
            "opponent_faced": "Jon Guridi",
            "pressing_zone": "RW vs LWB + CB",
            "matchup_zone": "RW vs LWB + CB",
            "antagonist_source": "defensive_duel, attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0721,
            "projected_assists": 0,
            "assist_probability": 0.0466,
            "finishing_factor": 1.0071,
            "creation_factor": 0.8,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 4.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0008,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 27,
                "accurate_pass": 24,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1391,
                "expected_assists": 0.0201,
                "total_shots": 3,
                "shots_on_target": 0,
                "shots_off_target": 2,
                "total_pass": 48,
                "accurate_pass": 43,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 3,
                "duels_won": 11,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0886,
                "expected_assists": 0.0586,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 44,
                "accurate_pass": 36,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0028,
                "total_shots": 0,
                "total_pass": 40,
                "accurate_pass": 32,
                "tackles": 6,
                "tackles_won": 5,
                "interceptions": 3,
                "clearances": 1,
                "duels_won": 8,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0039,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 17,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 3,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0166,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 19,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.2619,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 12,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0533,
                "expected_assists": 0.0113,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 39,
                "accurate_pass": 35,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 5,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0021,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 8,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 5,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0147,
                "expected_assists": 0.0129,
                "total_shots": 1,
                "total_pass": 29,
                "accurate_pass": 21,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 7,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2146,
            "combined_rank_score": 809.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 62.0,
            "sofascore_rating": 7.65,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1557.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7416,
            "source_file": "data/player_rankings.csv",
            "player_name": "Nahuel Tenaglia",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Kaito Taniguchi",
                  "ranking": 2141
                },
                {
                  "player_name": "Seok-jun Hong",
                  "ranking": 2142
                },
                {
                  "player_name": "Álvaro Valles",
                  "ranking": 2143
                },
                {
                  "player_name": "Lazar Samardžić",
                  "ranking": 2144
                },
                {
                  "player_name": "Giovanny Avalos",
                  "ranking": 2145
                }
              ],
              "lower": [
                {
                  "player_name": "Breel Embolo",
                  "ranking": 2147
                },
                {
                  "player_name": "Sergi Cardona",
                  "ranking": 2148
                },
                {
                  "player_name": "Kim Geon-oh",
                  "ranking": 2149
                },
                {
                  "player_name": "Ben Chilwell",
                  "ranking": 2150
                },
                {
                  "player_name": "Nicholas Duarte",
                  "ranking": 2151
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 47,
          "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": 47,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9981,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.3333333333333333,
              "assists_per90": 0.0,
              "shots_per90": 1.33,
              "shots_on_target_pct": 25.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (D_service) evaluated 47 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Alavés, rel: 0.20, gls/90: 0.3333333333333333, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1.1938,
                "tackles": 2.2324,
                "tackles_won": 1.4238,
                "clearances": 3.5164,
                "aerial_won": 1.082,
                "total_shots": 0.7992,
                "rating": 6.7416,
                "minutes": 87.55,
                "total_pass": 33.38,
                "accurate_pass": 28.0381,
                "duels_won": 4.8764,
                "total_long_balls": 3.6561,
                "accurate_long_balls": 1.3845,
                "total_own_half_passes": 18.592,
                "accurate_own_half_passes": 16.6863,
                "total_opp_half_passes": 14.788,
                "accurate_opp_half_passes": 11.3518,
                "crosses_total": 1.2778,
                "crosses_accurate": 0.176,
                "touches": 53.5981,
                "possession_lost": 9.8392,
                "dispossessed": 0.6893,
                "duels_lost": 4.474,
                "aerial_lost": 1.5776,
                "total_contest": 0.9417,
                "won_contest": 0.2265,
                "ball_recovery": 3.9541,
                "challenges_lost": 0.6678,
                "fouls": 0.8455,
                "fouls_drawn": 1.4544,
                "blocks": 0.3827,
                "goals": 0.0464,
                "goal_rate": 0.0464,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0492,
                "expected_assists": 0.03,
                "shots_on_target": 0.2609,
                "big_chances_created": 0.0642,
                "xgot": 0.0355,
                "ball_carries": 13.2238,
                "total_progression": 64.3986,
                "progressive_carries": 1.3657,
                "key_pass": 0.1587,
                "shots_off_target": 0.5383
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 4.4
                  },
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1084,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0783,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 3.5454,
                  "aerialWon": 1.02,
                  "totalClearance_p90": 3.772,
                  "totalTackle": 2.2538,
                  "totalTackle_p90": 2.3671
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.1937531232833862,
                    "model_output": 1.1938,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.114
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0853
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.013
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.013
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": 0.0129
                        }
                      ],
                      "others": 0.0845,
                      "total": 1.1938,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.122957
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.083011
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.01206
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.011947
                        },
                        {
                          "name": "tackle_success_rate",
                          "margin": 0.011677
                        }
                      ],
                      "others_margin": 0.073418
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 2.2323765754699707,
                    "model_output": 2.2324,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2033
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.1182
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.122
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.1099
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0587
                        }
                      ],
                      "others": 0.2328,
                      "total": 2.2324,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.136711
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.071652
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.068933
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.058299
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.029804
                        }
                      ],
                      "others_margin": 0.110165
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.4238201379776,
                    "model_output": 1.4238,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1253
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0905
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0942
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.066
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": 0.0284
                        }
                      ],
                      "others": 0.1712,
                      "total": 1.4238,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.137801
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.088889
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.084837
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.055429
                        },
                        {
                          "name": "duel_win_rate",
                          "margin": 0.022901
                        }
                      ],
                      "others_margin": 0.1281
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.516425848007202,
                    "model_output": 3.5164,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4368
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.2732
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.2388
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.1095
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0931
                        }
                      ],
                      "others": -0.0991,
                      "total": 3.5164,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.120333
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.073569
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.064588
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.029102
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.025429
                        }
                      ],
                      "others_margin": -0.027759
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.0819802284240723,
                    "model_output": 1.082,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.183
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1384
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0499
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0465
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0402
                        }
                      ],
                      "others": -0.1065,
                      "total": 1.082,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.143379
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.110295
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": -0.038388
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.037135
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.033246
                        }
                      ],
                      "others_margin": -0.093948
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.799150824546814,
                    "model_output": 0.7992,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.1773
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0546
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0224
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0186
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.016
                        }
                      ],
                      "others": 0.0739,
                      "total": 0.7992,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.177349
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.054581
                        },
                        {
                          "name": "rating",
                          "margin": -0.022384
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.018573
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.016005
                        }
                      ],
                      "others_margin": 0.073778
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.741570472717285,
                    "model_output": 6.7416,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": -0.0237
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0206
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.017
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0158
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "contribution": -0.0118
                        }
                      ],
                      "others": -0.0095,
                      "total": 6.7416,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": -0.023687
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.020572
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.01695
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.015807
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "margin": -0.011757
                        }
                      ],
                      "others_margin": -0.009583
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 47,
                  "role_matches": 47,
                  "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.9981, quality 0.440)",
              "stats": {
                "interceptions": 1.1915,
                "tackles": 2.2281,
                "tackles_won": 1.4211,
                "clearances": 3.5097,
                "aerial_won": 1.0799,
                "total_shots": 0.7977,
                "rating": 6.7416,
                "minutes": 87.55,
                "total_pass": 33.3166,
                "accurate_pass": 27.9848,
                "duels_won": 4.8671,
                "total_long_balls": 3.6492,
                "accurate_long_balls": 1.3819,
                "total_own_half_passes": 18.5567,
                "accurate_own_half_passes": 16.6546,
                "total_opp_half_passes": 14.7599,
                "accurate_opp_half_passes": 11.3302,
                "crosses_total": 1.2754,
                "crosses_accurate": 0.1757,
                "touches": 53.4963,
                "possession_lost": 9.8205,
                "dispossessed": 0.688,
                "duels_lost": 4.4655,
                "aerial_lost": 1.5746,
                "total_contest": 0.9399,
                "won_contest": 0.2261,
                "ball_recovery": 3.9466,
                "challenges_lost": 0.6665,
                "fouls": 0.8439,
                "fouls_drawn": 1.4516,
                "blocks": 0.382,
                "goals": 0.0463,
                "goal_rate": 0.0463,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0491,
                "expected_assists": 0.0299,
                "shots_on_target": 0.2604,
                "big_chances_created": 0.0641,
                "xgot": 0.0354,
                "ball_carries": 13.1987,
                "total_progression": 64.2762,
                "progressive_carries": 1.3631,
                "key_pass": 0.1584,
                "shots_off_target": 0.5373
              },
              "params": {
                "market_value_eur": 3200000,
                "quality_factor": 0.4399,
                "boost_factor": 0.9981,
                "reference_quality": 0.505,
                "history_matches": 47,
                "history_shrink": 0.0962,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0125)",
              "stats": {
                "interceptions": 1.1969,
                "tackles": 2.2281,
                "tackles_won": 1.4195,
                "clearances": 3.5097,
                "aerial_won": 1.0799,
                "total_shots": 0.8039,
                "rating": 6.7416,
                "minutes": 87.55,
                "total_pass": 33.3166,
                "accurate_pass": 27.9848,
                "duels_won": 4.8671,
                "total_long_balls": 3.6492,
                "accurate_long_balls": 1.3819,
                "total_own_half_passes": 18.5567,
                "accurate_own_half_passes": 16.6546,
                "total_opp_half_passes": 14.7599,
                "accurate_opp_half_passes": 11.3302,
                "crosses_total": 1.2676,
                "crosses_accurate": 0.1757,
                "touches": 53.4963,
                "possession_lost": 9.8205,
                "dispossessed": 0.688,
                "duels_lost": 4.4655,
                "aerial_lost": 1.5746,
                "total_contest": 0.9399,
                "won_contest": 0.2261,
                "ball_recovery": 3.9466,
                "challenges_lost": 0.6665,
                "fouls": 0.8496,
                "fouls_drawn": 1.4456,
                "blocks": 0.382,
                "goals": 0.0498,
                "goal_rate": 0.0498,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0491,
                "expected_assists": 0.0299,
                "shots_on_target": 0.2612,
                "big_chances_created": 0.0641,
                "xgot": 0.0354,
                "ball_carries": 13.1987,
                "total_progression": 64.2762,
                "progressive_carries": 1.3631,
                "key_pass": 0.1584,
                "shots_off_target": 0.5373
              },
              "params": {
                "blend_weight": 0.0125,
                "history_matches": 47,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9728,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Alavés"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 1.2754,
                  "after": 1.2676
                },
                {
                  "stat": "totalShots",
                  "before": 0.7977,
                  "after": 0.8039
                },
                {
                  "stat": "wasFouled",
                  "before": 1.4516,
                  "after": 1.4456
                },
                {
                  "stat": "fouls",
                  "before": 0.8439,
                  "after": 0.8496
                },
                {
                  "stat": "interceptionWon",
                  "before": 1.1915,
                  "after": 1.1969
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.1969,
                "tackles": 2.2281,
                "tackles_won": 1.4195,
                "clearances": 3.5097,
                "aerial_won": 1.0799,
                "total_shots": 0.8039,
                "rating": 6.7416,
                "minutes": 87.55,
                "total_pass": 33.3166,
                "accurate_pass": 27.9848,
                "duels_won": 4.8671,
                "total_long_balls": 3.6492,
                "accurate_long_balls": 1.3819,
                "total_own_half_passes": 18.5567,
                "accurate_own_half_passes": 16.6546,
                "total_opp_half_passes": 14.7599,
                "accurate_opp_half_passes": 11.3302,
                "crosses_total": 1.2676,
                "crosses_accurate": 0.1757,
                "touches": 53.4963,
                "possession_lost": 9.8205,
                "dispossessed": 0.688,
                "duels_lost": 4.4655,
                "aerial_lost": 1.5746,
                "total_contest": 0.9399,
                "won_contest": 0.2261,
                "ball_recovery": 3.9466,
                "challenges_lost": 0.6665,
                "fouls": 0.8496,
                "fouls_drawn": 1.4456,
                "blocks": 0.382,
                "goals": 0.0498,
                "goal_rate": 0.0498,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0491,
                "expected_assists": 0.0299,
                "shots_on_target": 0.2612,
                "big_chances_created": 0.0641,
                "xgot": 0.0354,
                "ball_carries": 13.1987,
                "total_progression": 64.2762,
                "progressive_carries": 1.3631,
                "key_pass": 0.1584,
                "shots_off_target": 0.5373
              },
              "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.1969,
                "tackles": 2.2281,
                "tackles_won": 1.4195,
                "clearances": 3.5097,
                "aerial_won": 1.0799,
                "total_shots": 0.8039,
                "rating": 6.7416,
                "minutes": 87.55,
                "total_pass": 33.3166,
                "accurate_pass": 27.9848,
                "duels_won": 4.8671,
                "total_long_balls": 3.6492,
                "accurate_long_balls": 1.3819,
                "total_own_half_passes": 18.5567,
                "accurate_own_half_passes": 16.6546,
                "total_opp_half_passes": 14.7599,
                "accurate_opp_half_passes": 11.3302,
                "crosses_total": 1.2676,
                "crosses_accurate": 0.1757,
                "touches": 53.4963,
                "possession_lost": 9.8205,
                "dispossessed": 0.688,
                "duels_lost": 4.4655,
                "aerial_lost": 1.5746,
                "total_contest": 0.9399,
                "won_contest": 0.2261,
                "ball_recovery": 3.9466,
                "challenges_lost": 0.6665,
                "fouls": 0.8496,
                "fouls_drawn": 1.4456,
                "blocks": 0.382,
                "goals": 0.0498,
                "goal_rate": 0.0498,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0491,
                "expected_assists": 0.0299,
                "shots_on_target": 0.2612,
                "big_chances_created": 0.0641,
                "xgot": 0.0354,
                "ball_carries": 13.1987,
                "total_progression": 64.2762,
                "progressive_carries": 1.3631,
                "key_pass": 0.1584,
                "shots_off_target": 0.5373,
                "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.5,
                "defensive_success_rate": 0.734,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "RW vs LWB + CB",
                "matchup_zone": "RW vs LWB + CB",
                "antagonist_source": "defensive_duel, attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Jon Guridi",
                  "matchup_zone": "RW vs LWB + CB"
                }
              }
            },
            {
              "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.1969,
                "tackles": 2.2281,
                "tackles_won": 1.4195,
                "clearances": 3.5097,
                "aerial_won": 1.0799,
                "total_shots": 0.8039,
                "rating": 6.7416,
                "minutes": 87.55,
                "total_pass": 33.3166,
                "accurate_pass": 27.9848,
                "duels_won": 4.8671,
                "total_long_balls": 3.6492,
                "accurate_long_balls": 1.3819,
                "total_own_half_passes": 18.5567,
                "accurate_own_half_passes": 16.6546,
                "total_opp_half_passes": 14.7599,
                "accurate_opp_half_passes": 11.3302,
                "crosses_total": 1.2676,
                "crosses_accurate": 0.1757,
                "touches": 53.4963,
                "possession_lost": 9.8205,
                "dispossessed": 0.688,
                "duels_lost": 4.4655,
                "aerial_lost": 1.5746,
                "total_contest": 0.9399,
                "won_contest": 0.2261,
                "ball_recovery": 3.9466,
                "challenges_lost": 0.6665,
                "fouls": 0.8496,
                "fouls_drawn": 1.4456,
                "blocks": 0.382,
                "goal_rate": 0.0498,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0491,
                "expected_assists": 0.0299,
                "shots_on_target": 0.2612,
                "big_chances_created": 0.0641,
                "xgot": 0.0354,
                "ball_carries": 13.1987,
                "total_progression": 64.2762,
                "progressive_carries": 1.3631,
                "key_pass": 0.1584,
                "shots_off_target": 0.5373,
                "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.5,
                "defensive_success_rate": 0.734,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "RW vs LWB + CB",
                "matchup_zone": "RW vs LWB + CB",
                "antagonist_source": "defensive_duel, 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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "interceptions": 1.1969,
                "tackles": 2.2281,
                "tackles_won": 1.4195,
                "clearances": 3.5097,
                "aerial_won": 1.0799,
                "total_shots": 0.8039,
                "rating": 6.7416,
                "minutes": 87.55,
                "total_pass": 33.3166,
                "accurate_pass": 27.9848,
                "duels_won": 4.8671,
                "total_long_balls": 3.6492,
                "accurate_long_balls": 1.3819,
                "total_own_half_passes": 18.5567,
                "accurate_own_half_passes": 16.6546,
                "total_opp_half_passes": 14.7599,
                "accurate_opp_half_passes": 11.3302,
                "crosses_total": 1.2676,
                "crosses_accurate": 0.1757,
                "touches": 53.4963,
                "possession_lost": 9.8205,
                "dispossessed": 0.688,
                "duels_lost": 4.4655,
                "aerial_lost": 1.5746,
                "total_contest": 0.9399,
                "won_contest": 0.2261,
                "ball_recovery": 3.9466,
                "challenges_lost": 0.6665,
                "fouls": 0.8496,
                "fouls_drawn": 1.4456,
                "blocks": 0.382,
                "goal_rate": 0.0498,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0748,
                "expected_assists": 0.0477,
                "shots_on_target": 0.2612,
                "big_chances_created": 0.0641,
                "xgot": 0.054,
                "ball_carries": 13.1987,
                "total_progression": 64.2762,
                "progressive_carries": 1.3631,
                "key_pass": 0.1584,
                "shots_off_target": 0.5373,
                "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.5,
                "defensive_success_rate": 0.734,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "RW vs LWB + CB",
                "matchup_zone": "RW vs LWB + CB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0071,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0491,
                  "after": 0.0748
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0299,
                  "after": 0.0477
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 11 by projected rating, fifa_overall 77.0)",
              "stats": {
                "interceptions": 1.1969,
                "tackles": 2.2281,
                "tackles_won": 1.4195,
                "clearances": 3.5097,
                "aerial_won": 1.0799,
                "total_shots": 0.8039,
                "rating": 6.7416,
                "minutes": 87.55,
                "total_pass": 33.3166,
                "accurate_pass": 27.9848,
                "duels_won": 4.8671,
                "total_long_balls": 3.6492,
                "accurate_long_balls": 1.3819,
                "total_own_half_passes": 18.5567,
                "accurate_own_half_passes": 16.6546,
                "total_opp_half_passes": 14.7599,
                "accurate_opp_half_passes": 11.3302,
                "crosses_total": 1.2676,
                "crosses_accurate": 0.1757,
                "touches": 53.4963,
                "possession_lost": 9.8205,
                "dispossessed": 0.688,
                "duels_lost": 4.4655,
                "aerial_lost": 1.5746,
                "total_contest": 0.9399,
                "won_contest": 0.2261,
                "ball_recovery": 3.9466,
                "challenges_lost": 0.6665,
                "fouls": 0.8496,
                "fouls_drawn": 1.4456,
                "blocks": 0.382,
                "goal_rate": 0.0498,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0748,
                "expected_assists": 0.0477,
                "shots_on_target": 0.2612,
                "big_chances_created": 0.0641,
                "xgot": 0.054,
                "ball_carries": 13.1987,
                "total_progression": 64.2762,
                "progressive_carries": 1.3631,
                "key_pass": 0.1584,
                "shots_off_target": 0.5373,
                "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.5,
                "defensive_success_rate": 0.734,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "RW vs LWB + CB",
                "matchup_zone": "RW vs LWB + CB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0071,
                "creation_factor": 0.8,
                "fifa_overall": 77.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": 2146,
                "fifa_rank": 1557.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 1.1969,
                "tackles": 2.2281,
                "tackles_won": 1.4195,
                "clearances": 3.5097,
                "aerial_won": 1.0799,
                "total_shots": 0.8039,
                "rating": 6.7416,
                "minutes": 87.55,
                "total_pass": 33.3166,
                "accurate_pass": 27.9848,
                "duels_won": 4.8671,
                "total_long_balls": 3.6492,
                "accurate_long_balls": 1.3819,
                "total_own_half_passes": 18.5567,
                "accurate_own_half_passes": 16.6546,
                "total_opp_half_passes": 14.7599,
                "accurate_opp_half_passes": 11.3302,
                "crosses_total": 1.2676,
                "crosses_accurate": 0.1757,
                "touches": 53.4963,
                "possession_lost": 9.8205,
                "dispossessed": 0.688,
                "duels_lost": 4.4655,
                "aerial_lost": 1.5746,
                "total_contest": 0.9399,
                "won_contest": 0.2261,
                "ball_recovery": 3.9466,
                "challenges_lost": 0.6665,
                "fouls": 0.8496,
                "fouls_drawn": 1.4456,
                "blocks": 0.382,
                "goal_rate": 0.0498,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0748,
                "expected_assists": 0.0477,
                "shots_on_target": 0.2612,
                "big_chances_created": 0.0641,
                "xgot": 0.054,
                "ball_carries": 13.1987,
                "total_progression": 64.2762,
                "progressive_carries": 1.3631,
                "key_pass": 0.1584,
                "shots_off_target": 0.5373,
                "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.5,
                "defensive_success_rate": 0.734,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "RW vs LWB + CB",
                "matchup_zone": "RW vs LWB + CB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0721,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0071,
                "creation_factor": 0.8,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0721,
                "goal_rate": 0.0498,
                "scorer_weight": 0.0753,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0533,
                "finishing_factor": 1.0071,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.1969,
                "tackles": 2.2281,
                "tackles_won": 1.4195,
                "clearances": 3.5097,
                "aerial_won": 1.0799,
                "total_shots": 0.8039,
                "rating": 6.7416,
                "minutes": 87.55,
                "total_pass": 33.3166,
                "accurate_pass": 27.9848,
                "duels_won": 4.8671,
                "total_long_balls": 3.6492,
                "accurate_long_balls": 1.3819,
                "total_own_half_passes": 18.5567,
                "accurate_own_half_passes": 16.6546,
                "total_opp_half_passes": 14.7599,
                "accurate_opp_half_passes": 11.3302,
                "crosses_total": 1.2676,
                "crosses_accurate": 0.1757,
                "touches": 53.4963,
                "possession_lost": 9.8205,
                "dispossessed": 0.688,
                "duels_lost": 4.4655,
                "aerial_lost": 1.5746,
                "total_contest": 0.9399,
                "won_contest": 0.2261,
                "ball_recovery": 3.9466,
                "challenges_lost": 0.6665,
                "fouls": 0.8496,
                "fouls_drawn": 1.4456,
                "blocks": 0.382,
                "goal_rate": 0.0498,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0748,
                "expected_assists": 0.0477,
                "shots_on_target": 0.2612,
                "big_chances_created": 0.0641,
                "xgot": 0.054,
                "ball_carries": 13.1987,
                "total_progression": 64.2762,
                "progressive_carries": 1.3631,
                "key_pass": 0.1584,
                "shots_off_target": 0.5373,
                "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.5,
                "defensive_success_rate": 0.734,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "RW vs LWB + CB",
                "matchup_zone": "RW vs LWB + CB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0721,
                "projected_assists": 0,
                "assist_probability": 0.0466,
                "finishing_factor": 1.0071,
                "creation_factor": 0.8,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0466,
                "assist_rate": 0.0,
                "provider_weight": 0.0382,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0461,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Jonny Otto": {
          "player_id": 235648,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 17,
          "height": 175,
          "market_value": 2100000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.702,
            "minutes": 85,
            "total_pass": 40,
            "accurate_pass": 34,
            "duels_won": 3,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 24,
            "accurate_own_half_passes": 21,
            "total_opp_half_passes": 16,
            "accurate_opp_half_passes": 13,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 55,
            "possession_lost": 8.1143,
            "dispossessed": 0.4472,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0187,
            "expected_assists": 0.0374,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0248,
            "ball_carries": 15,
            "total_progression": 74,
            "progressive_carries": 1,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 0.9,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.758,
            "opponent_faced": "Peque Fernández",
            "pressing_zone": "LW vs RWB + CB",
            "matchup_zone": "LW vs RWB + CB",
            "antagonist_source": "defensive_duel, attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0185,
            "projected_assists": 0,
            "assist_probability": 0.0367,
            "finishing_factor": 0.8026,
            "creation_factor": 0.8,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 4.8,
                "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": 22,
                "accurate_pass": 17,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 2,
                "aerial_won": 0,
                "duels_won": 2,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 62,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0127,
                "expected_assists": 0.0123,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 44,
                "accurate_pass": 39,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0151,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 42,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0021,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 34,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 6,
                "duels_won": 2,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0828,
                "expected_assists": 0.0919,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 47,
                "accurate_pass": 41,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 8,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 80,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0049,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 33,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0141,
                "expected_assists": 0.0012,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 22,
                "accurate_pass": 19,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 9,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 70,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0135,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421047.0,
              "match_date": "2026-08-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0108,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 30,
                "tackles": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083578.0,
              "match_date": "2026-05-09",
              "home_team": "Elche",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0025,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 25,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 275,
            "combined_rank_score": 212.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 199.0,
            "sofascore_rating": 7.2,
            "sofascore_appearances": 3.0,
            "fifa_rank": 225.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.702,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jonny Otto",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Seong-min Hwang",
                  "ranking": 270
                },
                {
                  "player_name": "Anzur Ismoilov",
                  "ranking": 271
                },
                {
                  "player_name": "Juan Cruz Gonzalez",
                  "ranking": 272
                },
                {
                  "player_name": "Matheus Bidu",
                  "ranking": 273
                },
                {
                  "player_name": "Alibek Davronov",
                  "ranking": 274
                }
              ],
              "lower": [
                {
                  "player_name": "Mauricio Isla",
                  "ranking": 276
                },
                {
                  "player_name": "Park Byeong Gyu",
                  "ranking": 277
                },
                {
                  "player_name": "Svetoslav Vutsov",
                  "ranking": 278
                },
                {
                  "player_name": "Negueba",
                  "ranking": 279
                },
                {
                  "player_name": "Léo Ortiz",
                  "ranking": 280
                }
              ]
            }
          },
          "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.9979,
            "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": 0.9116,
                "tackles": 1.8338,
                "tackles_won": 1.1847,
                "clearances": 2.8564,
                "aerial_won": 0.7845,
                "total_shots": 0.4137,
                "rating": 6.702,
                "minutes": 84.85,
                "total_pass": 39.7199,
                "accurate_pass": 34.1204,
                "duels_won": 3.1008,
                "total_long_balls": 3.3983,
                "accurate_long_balls": 2.0877,
                "total_own_half_passes": 24.0307,
                "accurate_own_half_passes": 21.4603,
                "total_opp_half_passes": 15.6892,
                "accurate_opp_half_passes": 12.6601,
                "crosses_total": 0.3019,
                "crosses_accurate": 0.1647,
                "touches": 55.1971,
                "possession_lost": 8.1314,
                "dispossessed": 0.4481,
                "duels_lost": 3.0438,
                "aerial_lost": 0.8289,
                "total_contest": 0.9217,
                "won_contest": 0.462,
                "ball_recovery": 3.6165,
                "challenges_lost": 0.7536,
                "fouls": 0.5607,
                "fouls_drawn": 0.5203,
                "blocks": 0.5131,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0123,
                "expected_assists": 0.0234,
                "shots_on_target": 0.1016,
                "big_chances_created": 0.0046,
                "xgot": 0.0163,
                "ball_carries": 15.3876,
                "total_progression": 74.0781,
                "progressive_carries": 1.2868,
                "key_pass": 0.2231,
                "shots_off_target": 0.3121
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 4.8
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Getafe",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 2.4882,
                  "aerialWon": 0.4057,
                  "totalClearance_p90": 2.5974,
                  "totalTackle": 1.7128,
                  "totalTackle_p90": 1.7563
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.911629855632782,
                    "model_output": 0.9116,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1112
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0393
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.027
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": -0.0149
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0142
                        }
                      ],
                      "others": -0.0037,
                      "total": 0.9116,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.120098
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.040853
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.029045
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": -0.0164
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.015645
                        }
                      ],
                      "others_margin": -0.003998
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.8338398933410645,
                    "model_output": 1.8338,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1822
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0788
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0541
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.048
                        },
                        {
                          "name": "dispossessed",
                          "contribution": 0.0447
                        }
                      ],
                      "others": 0.0385,
                      "total": 1.8338,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.1234
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.048985
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.032304
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.02779
                        },
                        {
                          "name": "dispossessed",
                          "margin": 0.025227
                        }
                      ],
                      "others_margin": 0.021203
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.1846691370010376,
                    "model_output": 1.1847,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1067
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0484
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0411
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0323
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0293
                        }
                      ],
                      "others": 0.1433,
                      "total": 1.1847,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.118463
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.049478
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.040145
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.031424
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.02856
                        }
                      ],
                      "others_margin": 0.128855
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.8564276695251465,
                    "model_output": 2.8564,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4889
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.4808
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.3538
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.3411
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.2385
                        }
                      ],
                      "others": -0.3162,
                      "total": 2.8564,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.133782
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.131407
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.109072
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.105367
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.072475
                        }
                      ],
                      "others_margin": -0.105006
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.7844951152801514,
                    "model_output": 0.7845,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.4728
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1155
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0764
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0671
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0617
                        }
                      ],
                      "others": -0.1461,
                      "total": 0.7845,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.423363
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.121164
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.078485
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.074412
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.068581
                        }
                      ],
                      "others_margin": -0.170794
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.4137374460697174,
                    "model_output": 0.4137,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0715
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0523
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0231
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0149
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0094
                        }
                      ],
                      "others": -0.0307,
                      "total": 0.4137,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.071526
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.052331
                        },
                        {
                          "name": "rating",
                          "margin": -0.023073
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.014893
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.00937
                        }
                      ],
                      "others_margin": -0.030767
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.701952934265137,
                    "model_output": 6.702,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.017
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0141
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "contribution": -0.0109
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0091
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.008
                        }
                      ],
                      "others": -0.0377,
                      "total": 6.702,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.017015
                        },
                        {
                          "name": "rating",
                          "margin": -0.014105
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "margin": -0.010898
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.009072
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.008047
                        }
                      ],
                      "others_margin": -0.037691
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 43,
                  "role_matches": 43,
                  "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.9979, quality 0.437)",
              "stats": {
                "interceptions": 0.9097,
                "tackles": 1.83,
                "tackles_won": 1.1822,
                "clearances": 2.8504,
                "aerial_won": 0.7828,
                "total_shots": 0.4129,
                "rating": 6.702,
                "minutes": 84.85,
                "total_pass": 39.6365,
                "accurate_pass": 34.0487,
                "duels_won": 3.0943,
                "total_long_balls": 3.3912,
                "accurate_long_balls": 2.0833,
                "total_own_half_passes": 23.9802,
                "accurate_own_half_passes": 21.4152,
                "total_opp_half_passes": 15.6563,
                "accurate_opp_half_passes": 12.6335,
                "crosses_total": 0.3013,
                "crosses_accurate": 0.1644,
                "touches": 55.0812,
                "possession_lost": 8.1143,
                "dispossessed": 0.4472,
                "duels_lost": 3.0374,
                "aerial_lost": 0.8272,
                "total_contest": 0.9198,
                "won_contest": 0.461,
                "ball_recovery": 3.6089,
                "challenges_lost": 0.752,
                "fouls": 0.5595,
                "fouls_drawn": 0.5192,
                "blocks": 0.512,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0123,
                "expected_assists": 0.0234,
                "shots_on_target": 0.1014,
                "big_chances_created": 0.0046,
                "xgot": 0.0163,
                "ball_carries": 15.3553,
                "total_progression": 73.9225,
                "progressive_carries": 1.2841,
                "key_pass": 0.2226,
                "shots_off_target": 0.3114
              },
              "params": {
                "market_value_eur": 2100000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9979,
                "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": 0.9097,
                "tackles": 1.83,
                "tackles_won": 1.1822,
                "clearances": 2.8504,
                "aerial_won": 0.7828,
                "total_shots": 0.4129,
                "rating": 6.702,
                "minutes": 84.85,
                "total_pass": 39.6365,
                "accurate_pass": 34.0487,
                "duels_won": 3.0943,
                "total_long_balls": 3.3912,
                "accurate_long_balls": 2.0833,
                "total_own_half_passes": 23.9802,
                "accurate_own_half_passes": 21.4152,
                "total_opp_half_passes": 15.6563,
                "accurate_opp_half_passes": 12.6335,
                "crosses_total": 0.3013,
                "crosses_accurate": 0.1644,
                "touches": 55.0812,
                "possession_lost": 8.1143,
                "dispossessed": 0.4472,
                "duels_lost": 3.0374,
                "aerial_lost": 0.8272,
                "total_contest": 0.9198,
                "won_contest": 0.461,
                "ball_recovery": 3.6089,
                "challenges_lost": 0.752,
                "fouls": 0.5595,
                "fouls_drawn": 0.5192,
                "blocks": 0.512,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0123,
                "expected_assists": 0.0234,
                "shots_on_target": 0.1014,
                "big_chances_created": 0.0046,
                "xgot": 0.0163,
                "ball_carries": 15.3553,
                "total_progression": 73.9225,
                "progressive_carries": 1.2841,
                "key_pass": 0.2226,
                "shots_off_target": 0.3114
              },
              "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.9097,
                "tackles": 1.83,
                "tackles_won": 1.1822,
                "clearances": 2.8504,
                "aerial_won": 0.7828,
                "total_shots": 0.4129,
                "rating": 6.702,
                "minutes": 84.85,
                "total_pass": 39.6365,
                "accurate_pass": 34.0487,
                "duels_won": 3.0943,
                "total_long_balls": 3.3912,
                "accurate_long_balls": 2.0833,
                "total_own_half_passes": 23.9802,
                "accurate_own_half_passes": 21.4152,
                "total_opp_half_passes": 15.6563,
                "accurate_opp_half_passes": 12.6335,
                "crosses_total": 0.3013,
                "crosses_accurate": 0.1644,
                "touches": 55.0812,
                "possession_lost": 8.1143,
                "dispossessed": 0.4472,
                "duels_lost": 3.0374,
                "aerial_lost": 0.8272,
                "total_contest": 0.9198,
                "won_contest": 0.461,
                "ball_recovery": 3.6089,
                "challenges_lost": 0.752,
                "fouls": 0.5595,
                "fouls_drawn": 0.5192,
                "blocks": 0.512,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0123,
                "expected_assists": 0.0234,
                "shots_on_target": 0.1014,
                "big_chances_created": 0.0046,
                "xgot": 0.0163,
                "ball_carries": 15.3553,
                "total_progression": 73.9225,
                "progressive_carries": 1.2841,
                "key_pass": 0.2226,
                "shots_off_target": 0.3114,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel, attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Peque Fernández",
                  "matchup_zone": "LW vs RWB + CB"
                }
              }
            },
            {
              "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.9097,
                "tackles": 1.83,
                "tackles_won": 1.1822,
                "clearances": 2.8504,
                "aerial_won": 0.7828,
                "total_shots": 0.4129,
                "rating": 6.702,
                "minutes": 84.85,
                "total_pass": 39.6365,
                "accurate_pass": 34.0487,
                "duels_won": 3.0943,
                "total_long_balls": 3.3912,
                "accurate_long_balls": 2.0833,
                "total_own_half_passes": 23.9802,
                "accurate_own_half_passes": 21.4152,
                "total_opp_half_passes": 15.6563,
                "accurate_opp_half_passes": 12.6335,
                "crosses_total": 0.3013,
                "crosses_accurate": 0.1644,
                "touches": 55.0812,
                "possession_lost": 8.1143,
                "dispossessed": 0.4472,
                "duels_lost": 3.0374,
                "aerial_lost": 0.8272,
                "total_contest": 0.9198,
                "won_contest": 0.461,
                "ball_recovery": 3.6089,
                "challenges_lost": 0.752,
                "fouls": 0.5595,
                "fouls_drawn": 0.5192,
                "blocks": 0.512,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0123,
                "expected_assists": 0.0234,
                "shots_on_target": 0.1014,
                "big_chances_created": 0.0046,
                "xgot": 0.0163,
                "ball_carries": 15.3553,
                "total_progression": 73.9225,
                "progressive_carries": 1.2841,
                "key_pass": 0.2226,
                "shots_off_target": 0.3114,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel, 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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "interceptions": 0.9097,
                "tackles": 1.83,
                "tackles_won": 1.1822,
                "clearances": 2.8504,
                "aerial_won": 0.7828,
                "total_shots": 0.4129,
                "rating": 6.702,
                "minutes": 84.85,
                "total_pass": 39.6365,
                "accurate_pass": 34.0487,
                "duels_won": 3.0943,
                "total_long_balls": 3.3912,
                "accurate_long_balls": 2.0833,
                "total_own_half_passes": 23.9802,
                "accurate_own_half_passes": 21.4152,
                "total_opp_half_passes": 15.6563,
                "accurate_opp_half_passes": 12.6335,
                "crosses_total": 0.3013,
                "crosses_accurate": 0.1644,
                "touches": 55.0812,
                "possession_lost": 8.1143,
                "dispossessed": 0.4472,
                "duels_lost": 3.0374,
                "aerial_lost": 0.8272,
                "total_contest": 0.9198,
                "won_contest": 0.461,
                "ball_recovery": 3.6089,
                "challenges_lost": 0.752,
                "fouls": 0.5595,
                "fouls_drawn": 0.5192,
                "blocks": 0.512,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0187,
                "expected_assists": 0.0374,
                "shots_on_target": 0.1014,
                "big_chances_created": 0.0046,
                "xgot": 0.0248,
                "ball_carries": 15.3553,
                "total_progression": 73.9225,
                "progressive_carries": 1.2841,
                "key_pass": 0.2226,
                "shots_off_target": 0.3114,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8026,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0123,
                  "after": 0.0187
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0234,
                  "after": 0.0374
                }
              ]
            },
            {
              "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": {
                "interceptions": 0.9097,
                "tackles": 1.83,
                "tackles_won": 1.1822,
                "clearances": 2.8504,
                "aerial_won": 0.7828,
                "total_shots": 0.4129,
                "rating": 6.702,
                "minutes": 84.85,
                "total_pass": 39.6365,
                "accurate_pass": 34.0487,
                "duels_won": 3.0943,
                "total_long_balls": 3.3912,
                "accurate_long_balls": 2.0833,
                "total_own_half_passes": 23.9802,
                "accurate_own_half_passes": 21.4152,
                "total_opp_half_passes": 15.6563,
                "accurate_opp_half_passes": 12.6335,
                "crosses_total": 0.3013,
                "crosses_accurate": 0.1644,
                "touches": 55.0812,
                "possession_lost": 8.1143,
                "dispossessed": 0.4472,
                "duels_lost": 3.0374,
                "aerial_lost": 0.8272,
                "total_contest": 0.9198,
                "won_contest": 0.461,
                "ball_recovery": 3.6089,
                "challenges_lost": 0.752,
                "fouls": 0.5595,
                "fouls_drawn": 0.5192,
                "blocks": 0.512,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0187,
                "expected_assists": 0.0374,
                "shots_on_target": 0.1014,
                "big_chances_created": 0.0046,
                "xgot": 0.0248,
                "ball_carries": 15.3553,
                "total_progression": 73.9225,
                "progressive_carries": 1.2841,
                "key_pass": 0.2226,
                "shots_off_target": 0.3114,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8026,
                "creation_factor": 0.8,
                "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": 275,
                "fifa_rank": 225.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.9097,
                "tackles": 1.83,
                "tackles_won": 1.1822,
                "clearances": 2.8504,
                "aerial_won": 0.7828,
                "total_shots": 0.4129,
                "rating": 6.702,
                "minutes": 84.85,
                "total_pass": 39.6365,
                "accurate_pass": 34.0487,
                "duels_won": 3.0943,
                "total_long_balls": 3.3912,
                "accurate_long_balls": 2.0833,
                "total_own_half_passes": 23.9802,
                "accurate_own_half_passes": 21.4152,
                "total_opp_half_passes": 15.6563,
                "accurate_opp_half_passes": 12.6335,
                "crosses_total": 0.3013,
                "crosses_accurate": 0.1644,
                "touches": 55.0812,
                "possession_lost": 8.1143,
                "dispossessed": 0.4472,
                "duels_lost": 3.0374,
                "aerial_lost": 0.8272,
                "total_contest": 0.9198,
                "won_contest": 0.461,
                "ball_recovery": 3.6089,
                "challenges_lost": 0.752,
                "fouls": 0.5595,
                "fouls_drawn": 0.5192,
                "blocks": 0.512,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0187,
                "expected_assists": 0.0374,
                "shots_on_target": 0.1014,
                "big_chances_created": 0.0046,
                "xgot": 0.0248,
                "ball_carries": 15.3553,
                "total_progression": 73.9225,
                "progressive_carries": 1.2841,
                "key_pass": 0.2226,
                "shots_off_target": 0.3114,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0185,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8026,
                "creation_factor": 0.8,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0185,
                "goal_rate": 0.0,
                "scorer_weight": 0.015,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0106,
                "finishing_factor": 0.8026,
                "appearance_weight": 1.0,
                "weight_rank": 12,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.9097,
                "tackles": 1.83,
                "tackles_won": 1.1822,
                "clearances": 2.8504,
                "aerial_won": 0.7828,
                "total_shots": 0.4129,
                "rating": 6.702,
                "minutes": 84.85,
                "total_pass": 39.6365,
                "accurate_pass": 34.0487,
                "duels_won": 3.0943,
                "total_long_balls": 3.3912,
                "accurate_long_balls": 2.0833,
                "total_own_half_passes": 23.9802,
                "accurate_own_half_passes": 21.4152,
                "total_opp_half_passes": 15.6563,
                "accurate_opp_half_passes": 12.6335,
                "crosses_total": 0.3013,
                "crosses_accurate": 0.1644,
                "touches": 55.0812,
                "possession_lost": 8.1143,
                "dispossessed": 0.4472,
                "duels_lost": 3.0374,
                "aerial_lost": 0.8272,
                "total_contest": 0.9198,
                "won_contest": 0.461,
                "ball_recovery": 3.6089,
                "challenges_lost": 0.752,
                "fouls": 0.5595,
                "fouls_drawn": 0.5192,
                "blocks": 0.512,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0187,
                "expected_assists": 0.0374,
                "shots_on_target": 0.1014,
                "big_chances_created": 0.0046,
                "xgot": 0.0248,
                "ball_carries": 15.3553,
                "total_progression": 73.9225,
                "progressive_carries": 1.2841,
                "key_pass": 0.2226,
                "shots_off_target": 0.3114,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0185,
                "projected_assists": 0,
                "assist_probability": 0.0367,
                "finishing_factor": 0.8026,
                "creation_factor": 0.8,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0367,
                "assist_rate": 0.0,
                "provider_weight": 0.0299,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0361,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 9,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Ville Koski": {
          "player_id": 999178,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 16,
          "height": 185,
          "market_value": 4300000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 5,
            "aerial_won": 2,
            "total_shots": 0,
            "rating": 6.7791,
            "minutes": 90,
            "total_pass": 37,
            "accurate_pass": 32,
            "duels_won": 3,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_own_half_passes": 25,
            "accurate_own_half_passes": 24,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 8,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 49,
            "possession_lost": 5.9962,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 1,
            "goal_rate": 0.0818,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.1192,
            "expected_assists": 0.0172,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0998,
            "ball_carries": 13,
            "total_progression": 37,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 0.9,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.81,
            "opponent_faced": "Miguel Sierra",
            "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.1124,
            "projected_assists": 0,
            "assist_probability": 0.0171,
            "finishing_factor": 1.0281,
            "creation_factor": 0.8224,
            "fifa_overall": 68.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 23,
                "accurate_pass": 18,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0493,
                "expected_assists": 0.0104,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 74,
                "accurate_pass": 65,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 0,
                "duels_won": 1,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0045,
                "total_shots": 0,
                "total_pass": 52,
                "accurate_pass": 46,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 19,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 9,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0011,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 19,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 7,
                "aerial_won": 2,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1336,
                "expected_assists": 0.008,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 42,
                "accurate_pass": 37,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.7752,
                "expected_assists": 0.0052,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 30,
                "accurate_pass": 25,
                "clearances": 8,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 5.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 34,
                "interceptions": 2,
                "clearances": 6,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 5,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 12,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 80,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0038,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 23,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 5,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 6009,
            "combined_rank_score": 4273.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 409.0,
            "sofascore_rating": 6.9333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 8138.0,
            "fifa_overall": 68.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7791,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ville Koski",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Carracedo",
                  "ranking": 6004
                },
                {
                  "player_name": "Andrés Fernández",
                  "ranking": 6005
                },
                {
                  "player_name": "Nick D'Agostino",
                  "ranking": 6006
                },
                {
                  "player_name": "Jesé",
                  "ranking": 6007
                },
                {
                  "player_name": "Alberto Jiménez",
                  "ranking": 6008
                }
              ],
              "lower": [
                {
                  "player_name": "Vallejo",
                  "ranking": 6010
                },
                {
                  "player_name": "Mauro Pittón",
                  "ranking": 6011
                },
                {
                  "player_name": "Iñigo Córdoba",
                  "ranking": 6012
                },
                {
                  "player_name": "Rubén Alcaraz",
                  "ranking": 6013
                },
                {
                  "player_name": "Nolaskoain",
                  "ranking": 6014
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.779,
          "history_matches": 16,
          "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": 16,
            "data_confidence": 0.779,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9963,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 259.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.1933
            },
            "rationale": "XGBoost regressor (D_service) evaluated 16 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Alavés, rel: 0.19, 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": 1.1654,
                "tackles": 1.2665,
                "tackles_won": 0.7411,
                "clearances": 5.2327,
                "aerial_won": 1.709,
                "total_shots": 0.3926,
                "rating": 6.7791,
                "minutes": 89.6,
                "total_pass": 37.6123,
                "accurate_pass": 32.4501,
                "duels_won": 2.6485,
                "total_long_balls": 3.786,
                "accurate_long_balls": 1.8672,
                "total_own_half_passes": 25.3948,
                "accurate_own_half_passes": 24.4406,
                "total_opp_half_passes": 12.2175,
                "accurate_opp_half_passes": 8.0095,
                "crosses_total": 0.145,
                "crosses_accurate": 0.0,
                "touches": 49.1606,
                "possession_lost": 6.0185,
                "dispossessed": 0.0,
                "duels_lost": 1.9827,
                "aerial_lost": 1.1055,
                "total_contest": 0.0395,
                "won_contest": 0.0395,
                "ball_recovery": 2.6429,
                "challenges_lost": 0.0644,
                "fouls": 0.8772,
                "fouls_drawn": 0.383,
                "blocks": 0.7656,
                "goals": 0.0846,
                "goal_rate": 0.0846,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0785,
                "expected_assists": 0.0108,
                "shots_on_target": 0.1984,
                "big_chances_created": 0.0,
                "xgot": 0.0657,
                "ball_carries": 13.2489,
                "total_progression": 37.321,
                "progressive_carries": 0.4529,
                "key_pass": 0.0336,
                "shots_off_target": 0.1942
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.162,
                    "rating": 5.7
                  },
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1377,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1171,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.0995,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0846,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0719,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0611,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0519,
                    "rating": 5.6
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0442,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0375,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 16.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 4.6633,
                  "aerialWon": 0.9337,
                  "totalClearance_p90": 7.7694,
                  "totalTackle": 1.1537,
                  "totalTackle_p90": 3.1255
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.1653684377670288,
                    "model_output": 1.1654,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1181
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0981
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0535
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0274
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0272
                        }
                      ],
                      "others": 0.0244,
                      "total": 1.1654,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.127105
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.094549
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.048049
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.023698
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.023596
                        }
                      ],
                      "others_margin": 0.021201
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.2665307521820068,
                    "model_output": 1.2665,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1861
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0842
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0816
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0701
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0405
                        }
                      ],
                      "others": -0.1939,
                      "total": 1.2665,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.12589
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.054965
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.053326
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.045676
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.027349
                        }
                      ],
                      "others_margin": -0.142447
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.7411403656005859,
                    "model_output": 0.7411,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1211
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0535
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.043
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0409
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0345
                        }
                      ],
                      "others": -0.1423,
                      "total": 0.7411,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.133418
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.056792
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.045869
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.043582
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.038286
                        }
                      ],
                      "others_margin": -0.175578
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 5.232684135437012,
                    "model_output": 5.2327,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4613
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.391
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.4049
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.3588
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.1308
                        }
                      ],
                      "others": 0.0702,
                      "total": 5.2327,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.126667
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.096094
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.090625
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.073977
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.025667
                        }
                      ],
                      "others_margin": 0.013511
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.7089561223983765,
                    "model_output": 1.709,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.2038
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1692
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.1579
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.1274
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.1009
                        }
                      ],
                      "others": -0.0123,
                      "total": 1.709,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.16108
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.135478
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.111808
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.081898
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.06043
                        }
                      ],
                      "others_margin": -0.007244
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.39259934425354004,
                    "model_output": 0.3926,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0758
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0507
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0195
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0187
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0185
                        }
                      ],
                      "others": -0.0458,
                      "total": 0.3926,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.075828
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.050671
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.019504
                        },
                        {
                          "name": "rating",
                          "margin": -0.018736
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.018518
                        }
                      ],
                      "others_margin": -0.045741
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.779129505157471,
                    "model_output": 6.7791,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": -0.0175
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0168
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0127
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0116
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": 0.01
                        }
                      ],
                      "others": 0.0289,
                      "total": 6.7791,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": -0.017502
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.016849
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.012719
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.011589
                        },
                        {
                          "name": "duel_win_rate",
                          "margin": 0.009956
                        }
                      ],
                      "others_margin": 0.029052
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 16,
                  "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 0.9963, quality 0.454)",
              "stats": {
                "interceptions": 1.1611,
                "tackles": 1.2618,
                "tackles_won": 0.7384,
                "clearances": 5.2133,
                "aerial_won": 1.7026,
                "total_shots": 0.3912,
                "rating": 6.7791,
                "minutes": 89.6,
                "total_pass": 37.4731,
                "accurate_pass": 32.33,
                "duels_won": 2.6387,
                "total_long_balls": 3.772,
                "accurate_long_balls": 1.8603,
                "total_own_half_passes": 25.3008,
                "accurate_own_half_passes": 24.3502,
                "total_opp_half_passes": 12.1723,
                "accurate_opp_half_passes": 7.9799,
                "crosses_total": 0.1445,
                "crosses_accurate": 0.0,
                "touches": 48.9787,
                "possession_lost": 5.9962,
                "dispossessed": 0.0,
                "duels_lost": 1.9754,
                "aerial_lost": 1.1014,
                "total_contest": 0.0394,
                "won_contest": 0.0394,
                "ball_recovery": 2.6331,
                "challenges_lost": 0.0642,
                "fouls": 0.874,
                "fouls_drawn": 0.3816,
                "blocks": 0.7628,
                "goals": 0.0843,
                "goal_rate": 0.0843,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0782,
                "expected_assists": 0.0108,
                "shots_on_target": 0.1977,
                "big_chances_created": 0.0,
                "xgot": 0.0655,
                "ball_carries": 13.1999,
                "total_progression": 37.1829,
                "progressive_carries": 0.4512,
                "key_pass": 0.0335,
                "shots_off_target": 0.1935
              },
              "params": {
                "market_value_eur": 4300000,
                "quality_factor": 0.4535,
                "boost_factor": 0.9963,
                "reference_quality": 0.505,
                "history_matches": 16,
                "history_shrink": 0.2381,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0299)",
              "stats": {
                "interceptions": 1.1572,
                "tackles": 1.2618,
                "tackles_won": 0.7266,
                "clearances": 5.2133,
                "aerial_won": 1.7026,
                "total_shots": 0.3795,
                "rating": 6.7791,
                "minutes": 89.6,
                "total_pass": 37.4731,
                "accurate_pass": 32.33,
                "duels_won": 2.6387,
                "total_long_balls": 3.772,
                "accurate_long_balls": 1.8603,
                "total_own_half_passes": 25.3008,
                "accurate_own_half_passes": 24.3502,
                "total_opp_half_passes": 12.1723,
                "accurate_opp_half_passes": 7.9799,
                "crosses_total": 0.1402,
                "crosses_accurate": 0.0,
                "touches": 48.9787,
                "possession_lost": 5.9962,
                "dispossessed": 0.0,
                "duels_lost": 1.9754,
                "aerial_lost": 1.1014,
                "total_contest": 0.0394,
                "won_contest": 0.0394,
                "ball_recovery": 2.6331,
                "challenges_lost": 0.0642,
                "fouls": 0.8479,
                "fouls_drawn": 0.3702,
                "blocks": 0.7628,
                "goals": 0.0818,
                "goal_rate": 0.0818,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0782,
                "expected_assists": 0.0108,
                "shots_on_target": 0.1918,
                "big_chances_created": 0.0,
                "xgot": 0.0655,
                "ball_carries": 13.1999,
                "total_progression": 37.1829,
                "progressive_carries": 0.4512,
                "key_pass": 0.0335,
                "shots_off_target": 0.1935
              },
              "params": {
                "blend_weight": 0.0299,
                "history_matches": 16,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9956,
                "prior_reliability": 0.1933,
                "competition": "La Liga",
                "squad": "Alavés"
              },
              "changes": [
                {
                  "stat": "fouls",
                  "before": 0.874,
                  "after": 0.8479
                },
                {
                  "stat": "wonTackle",
                  "before": 0.7384,
                  "after": 0.7266
                },
                {
                  "stat": "totalShots",
                  "before": 0.3912,
                  "after": 0.3795
                },
                {
                  "stat": "wasFouled",
                  "before": 0.3816,
                  "after": 0.3702
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.1977,
                  "after": 0.1918
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.1572,
                "tackles": 1.2618,
                "tackles_won": 0.7266,
                "clearances": 5.2133,
                "aerial_won": 1.7026,
                "total_shots": 0.3853,
                "rating": 6.7791,
                "minutes": 89.6,
                "total_pass": 37.4731,
                "accurate_pass": 32.33,
                "duels_won": 2.6387,
                "total_long_balls": 3.772,
                "accurate_long_balls": 1.8603,
                "total_own_half_passes": 25.3008,
                "accurate_own_half_passes": 24.3502,
                "total_opp_half_passes": 12.1723,
                "accurate_opp_half_passes": 7.9799,
                "crosses_total": 0.1402,
                "crosses_accurate": 0.0,
                "touches": 48.9787,
                "possession_lost": 5.9962,
                "dispossessed": 0.0,
                "duels_lost": 1.9754,
                "aerial_lost": 1.1014,
                "total_contest": 0.0394,
                "won_contest": 0.0394,
                "ball_recovery": 2.6331,
                "challenges_lost": 0.0642,
                "fouls": 0.8479,
                "fouls_drawn": 0.3702,
                "blocks": 0.7628,
                "goals": 0.0818,
                "goal_rate": 0.0818,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0782,
                "expected_assists": 0.0108,
                "shots_on_target": 0.1918,
                "big_chances_created": 0.0,
                "xgot": 0.0655,
                "ball_carries": 13.1999,
                "total_progression": 37.1829,
                "progressive_carries": 0.4512,
                "key_pass": 0.0335,
                "shots_off_target": 0.1935
              },
              "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.1572,
                "tackles": 1.2618,
                "tackles_won": 0.7266,
                "clearances": 5.2133,
                "aerial_won": 1.7026,
                "total_shots": 0.3853,
                "rating": 6.7791,
                "minutes": 89.6,
                "total_pass": 37.4731,
                "accurate_pass": 32.33,
                "duels_won": 2.6387,
                "total_long_balls": 3.772,
                "accurate_long_balls": 1.8603,
                "total_own_half_passes": 25.3008,
                "accurate_own_half_passes": 24.3502,
                "total_opp_half_passes": 12.1723,
                "accurate_opp_half_passes": 7.9799,
                "crosses_total": 0.1402,
                "crosses_accurate": 0.0,
                "touches": 48.9787,
                "possession_lost": 5.9962,
                "dispossessed": 0.0,
                "duels_lost": 1.9754,
                "aerial_lost": 1.1014,
                "total_contest": 0.0394,
                "won_contest": 0.0394,
                "ball_recovery": 2.6331,
                "challenges_lost": 0.0642,
                "fouls": 0.8479,
                "fouls_drawn": 0.3702,
                "blocks": 0.7628,
                "goals": 0.0818,
                "goal_rate": 0.0818,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0782,
                "expected_assists": 0.0108,
                "shots_on_target": 0.1918,
                "big_chances_created": 0.0,
                "xgot": 0.0655,
                "ball_carries": 13.1999,
                "total_progression": 37.1829,
                "progressive_carries": 0.4512,
                "key_pass": 0.0335,
                "shots_off_target": 0.1935,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.81,
                "opponent_faced": "Miguel Sierra",
                "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": "Miguel Sierra",
                  "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": 1.1572,
                "tackles": 1.2618,
                "tackles_won": 0.7266,
                "clearances": 5.2133,
                "aerial_won": 1.7026,
                "total_shots": 0.3853,
                "rating": 6.7791,
                "minutes": 89.6,
                "total_pass": 37.4731,
                "accurate_pass": 32.33,
                "duels_won": 2.6387,
                "total_long_balls": 3.772,
                "accurate_long_balls": 1.8603,
                "total_own_half_passes": 25.3008,
                "accurate_own_half_passes": 24.3502,
                "total_opp_half_passes": 12.1723,
                "accurate_opp_half_passes": 7.9799,
                "crosses_total": 0.1402,
                "crosses_accurate": 0.0,
                "touches": 48.9787,
                "possession_lost": 5.9962,
                "dispossessed": 0.0,
                "duels_lost": 1.9754,
                "aerial_lost": 1.1014,
                "total_contest": 0.0394,
                "won_contest": 0.0394,
                "ball_recovery": 2.6331,
                "challenges_lost": 0.0642,
                "fouls": 0.8479,
                "fouls_drawn": 0.3702,
                "blocks": 0.7628,
                "goal_rate": 0.0818,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0782,
                "expected_assists": 0.0108,
                "shots_on_target": 0.1918,
                "big_chances_created": 0.0,
                "xgot": 0.0655,
                "ball_carries": 13.1999,
                "total_progression": 37.1829,
                "progressive_carries": 0.4512,
                "key_pass": 0.0335,
                "shots_off_target": 0.1935,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.81,
                "opponent_faced": "Miguel Sierra",
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "interceptions": 1.1572,
                "tackles": 1.2618,
                "tackles_won": 0.7266,
                "clearances": 5.2133,
                "aerial_won": 1.7026,
                "total_shots": 0.3853,
                "rating": 6.7791,
                "minutes": 89.6,
                "total_pass": 37.4731,
                "accurate_pass": 32.33,
                "duels_won": 2.6387,
                "total_long_balls": 3.772,
                "accurate_long_balls": 1.8603,
                "total_own_half_passes": 25.3008,
                "accurate_own_half_passes": 24.3502,
                "total_opp_half_passes": 12.1723,
                "accurate_opp_half_passes": 7.9799,
                "crosses_total": 0.1402,
                "crosses_accurate": 0.0,
                "touches": 48.9787,
                "possession_lost": 5.9962,
                "dispossessed": 0.0,
                "duels_lost": 1.9754,
                "aerial_lost": 1.1014,
                "total_contest": 0.0394,
                "won_contest": 0.0394,
                "ball_recovery": 2.6331,
                "challenges_lost": 0.0642,
                "fouls": 0.8479,
                "fouls_drawn": 0.3702,
                "blocks": 0.7628,
                "goal_rate": 0.0818,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1192,
                "expected_assists": 0.0172,
                "shots_on_target": 0.1918,
                "big_chances_created": 0.0,
                "xgot": 0.0998,
                "ball_carries": 13.1999,
                "total_progression": 37.1829,
                "progressive_carries": 0.4512,
                "key_pass": 0.0335,
                "shots_off_target": 0.1935,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.81,
                "opponent_faced": "Miguel Sierra",
                "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.0281,
                "creation_factor": 0.8224
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0782,
                  "after": 0.1192
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0108,
                  "after": 0.0172
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 7 by projected rating, fifa_overall 68.0)",
              "stats": {
                "interceptions": 1.1572,
                "tackles": 1.2618,
                "tackles_won": 0.7266,
                "clearances": 5.2133,
                "aerial_won": 1.7026,
                "total_shots": 0.3853,
                "rating": 6.7791,
                "minutes": 89.6,
                "total_pass": 37.4731,
                "accurate_pass": 32.33,
                "duels_won": 2.6387,
                "total_long_balls": 3.772,
                "accurate_long_balls": 1.8603,
                "total_own_half_passes": 25.3008,
                "accurate_own_half_passes": 24.3502,
                "total_opp_half_passes": 12.1723,
                "accurate_opp_half_passes": 7.9799,
                "crosses_total": 0.1402,
                "crosses_accurate": 0.0,
                "touches": 48.9787,
                "possession_lost": 5.9962,
                "dispossessed": 0.0,
                "duels_lost": 1.9754,
                "aerial_lost": 1.1014,
                "total_contest": 0.0394,
                "won_contest": 0.0394,
                "ball_recovery": 2.6331,
                "challenges_lost": 0.0642,
                "fouls": 0.8479,
                "fouls_drawn": 0.3702,
                "blocks": 0.7628,
                "goal_rate": 0.0818,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1192,
                "expected_assists": 0.0172,
                "shots_on_target": 0.1918,
                "big_chances_created": 0.0,
                "xgot": 0.0998,
                "ball_carries": 13.1999,
                "total_progression": 37.1829,
                "progressive_carries": 0.4512,
                "key_pass": 0.0335,
                "shots_off_target": 0.1935,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.81,
                "opponent_faced": "Miguel Sierra",
                "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.0281,
                "creation_factor": 0.8224,
                "fifa_overall": 68.0
              },
              "params": {
                "match_squad_rank": 7,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 6009,
                "fifa_rank": 8138.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": {
                "interceptions": 1.1572,
                "tackles": 1.2618,
                "tackles_won": 0.7266,
                "clearances": 5.2133,
                "aerial_won": 1.7026,
                "total_shots": 0.3853,
                "rating": 6.7791,
                "minutes": 89.6,
                "total_pass": 37.4731,
                "accurate_pass": 32.33,
                "duels_won": 2.6387,
                "total_long_balls": 3.772,
                "accurate_long_balls": 1.8603,
                "total_own_half_passes": 25.3008,
                "accurate_own_half_passes": 24.3502,
                "total_opp_half_passes": 12.1723,
                "accurate_opp_half_passes": 7.9799,
                "crosses_total": 0.1402,
                "crosses_accurate": 0.0,
                "touches": 48.9787,
                "possession_lost": 5.9962,
                "dispossessed": 0.0,
                "duels_lost": 1.9754,
                "aerial_lost": 1.1014,
                "total_contest": 0.0394,
                "won_contest": 0.0394,
                "ball_recovery": 2.6331,
                "challenges_lost": 0.0642,
                "fouls": 0.8479,
                "fouls_drawn": 0.3702,
                "blocks": 0.7628,
                "goal_rate": 0.0818,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1192,
                "expected_assists": 0.0172,
                "shots_on_target": 0.1918,
                "big_chances_created": 0.0,
                "xgot": 0.0998,
                "ball_carries": 13.1999,
                "total_progression": 37.1829,
                "progressive_carries": 0.4512,
                "key_pass": 0.0335,
                "shots_off_target": 0.1935,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.81,
                "opponent_faced": "Miguel Sierra",
                "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.1124,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0281,
                "creation_factor": 0.8224,
                "fifa_overall": 68.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1124,
                "goal_rate": 0.0818,
                "scorer_weight": 0.1225,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0866,
                "finishing_factor": 1.0281,
                "appearance_weight": 1.0,
                "weight_rank": 4,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.1572,
                "tackles": 1.2618,
                "tackles_won": 0.7266,
                "clearances": 5.2133,
                "aerial_won": 1.7026,
                "total_shots": 0.3853,
                "rating": 6.7791,
                "minutes": 89.6,
                "total_pass": 37.4731,
                "accurate_pass": 32.33,
                "duels_won": 2.6387,
                "total_long_balls": 3.772,
                "accurate_long_balls": 1.8603,
                "total_own_half_passes": 25.3008,
                "accurate_own_half_passes": 24.3502,
                "total_opp_half_passes": 12.1723,
                "accurate_opp_half_passes": 7.9799,
                "crosses_total": 0.1402,
                "crosses_accurate": 0.0,
                "touches": 48.9787,
                "possession_lost": 5.9962,
                "dispossessed": 0.0,
                "duels_lost": 1.9754,
                "aerial_lost": 1.1014,
                "total_contest": 0.0394,
                "won_contest": 0.0394,
                "ball_recovery": 2.6331,
                "challenges_lost": 0.0642,
                "fouls": 0.8479,
                "fouls_drawn": 0.3702,
                "blocks": 0.7628,
                "goal_rate": 0.0818,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1192,
                "expected_assists": 0.0172,
                "shots_on_target": 0.1918,
                "big_chances_created": 0.0,
                "xgot": 0.0998,
                "ball_carries": 13.1999,
                "total_progression": 37.1829,
                "progressive_carries": 0.4512,
                "key_pass": 0.0335,
                "shots_off_target": 0.1935,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.81,
                "opponent_faced": "Miguel Sierra",
                "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.1124,
                "projected_assists": 0,
                "assist_probability": 0.0171,
                "finishing_factor": 1.0281,
                "creation_factor": 0.8224,
                "fifa_overall": 68.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0171,
                "assist_rate": 0.0,
                "provider_weight": 0.0141,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0171,
                "creation_factor": 0.8224,
                "appearance_weight": 1.0,
                "weight_rank": 12,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Facundo Garcés": {
          "player_id": 879875,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 2,
          "height": 191,
          "market_value": 1300000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 6,
            "aerial_won": 2,
            "total_shots": 0,
            "rating": 6.7694,
            "minutes": 90,
            "total_pass": 45,
            "accurate_pass": 38,
            "duels_won": 5,
            "total_long_balls": 5,
            "accurate_long_balls": 1,
            "total_own_half_passes": 26,
            "accurate_own_half_passes": 24,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 15,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 60,
            "possession_lost": 8.1642,
            "dispossessed": 0.0,
            "duels_lost": 4,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 0,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0837,
            "expected_assists": 0.0152,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0195,
            "ball_carries": 20,
            "total_progression": 80,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 0.9,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.758,
            "opponent_faced": "Peque Fernández",
            "pressing_zone": "LW vs RWB + CB",
            "matchup_zone": "LW vs RWB + CB",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0803,
            "projected_assists": 0,
            "assist_probability": 0.0151,
            "finishing_factor": 0.8,
            "creation_factor": 0.8403,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 14081793.0,
              "match_date": "2026-02-27",
              "home_team": "Levante UD",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 27,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0243,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 6,
                "accurate_pass": 4,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083436.0,
              "match_date": "2026-02-14",
              "home_team": "Sevilla",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2191,
                "expected_assists": 0.0223,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 79,
                "accurate_pass": 74,
                "interceptions": 2,
                "clearances": 6,
                "aerial_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083257.0,
              "match_date": "2026-02-08",
              "home_team": "Deportivo Alavés",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.002,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 36,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 11,
                "aerial_won": 7,
                "duels_won": 10,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083236.0,
              "match_date": "2026-01-30",
              "home_team": "Espanyol",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0007,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "clearances": 6,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083462.0,
              "match_date": "2025-09-24",
              "home_team": "Getafe",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0027,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 25,
                "tackles": 1,
                "clearances": 8,
                "aerial_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083259.0,
              "match_date": "2025-09-20",
              "home_team": "Deportivo Alavés",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0409,
                "expected_assists": 0.0211,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 31,
                "accurate_pass": 24,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 6,
                "aerial_won": 4,
                "duels_won": 7,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083246.0,
              "match_date": "2025-09-13",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 19,
                "interceptions": 2,
                "clearances": 7,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083109.0,
              "match_date": "2025-08-30",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0008,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 24,
                "clearances": 9,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14082864.0,
              "match_date": "2025-08-22",
              "home_team": "Real Betis",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.056,
                "expected_assists": 0.0122,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 48,
                "accurate_pass": 44,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 6,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14082849.0,
              "match_date": "2025-08-16",
              "home_team": "Deportivo Alavés",
              "away_team": "Levante UD",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0084,
                "expected_assists": 0.0078,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 48,
                "accurate_pass": 41,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 3,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2116,
            "combined_rank_score": 946.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 802.0,
            "sofascore_rating": 6.62,
            "sofascore_appearances": 10.0,
            "fifa_rank": 1091.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7694,
            "source_file": "data/player_rankings.csv",
            "player_name": "Facundo Garcés",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Cristian Palacios",
                  "ranking": 2111
                },
                {
                  "player_name": "Han-gil Kim",
                  "ranking": 2112
                },
                {
                  "player_name": "Sardor Abduraimov",
                  "ranking": 2113
                },
                {
                  "player_name": "Alou Kuol",
                  "ranking": 2114
                },
                {
                  "player_name": "Phillip Čančar",
                  "ranking": 2115
                }
              ],
              "lower": [
                {
                  "player_name": "Kaio Jorge",
                  "ranking": 2117
                },
                {
                  "player_name": "José Ortiz",
                  "ranking": 2118
                },
                {
                  "player_name": "Christian Bracco",
                  "ranking": 2119
                },
                {
                  "player_name": "Park Su-been",
                  "ranking": 2120
                },
                {
                  "player_name": "Edvinas Girdvainis",
                  "ranking": 2121
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 10,
          "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": 10,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9932,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (D_service) evaluated 10 historical appearances across 7 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.8679,
                "tackles": 1.3127,
                "tackles_won": 0.7357,
                "clearances": 6.316,
                "aerial_won": 2.4497,
                "total_shots": 0.4865,
                "rating": 6.7694,
                "minutes": 90.0,
                "total_pass": 45.608,
                "accurate_pass": 38.702,
                "duels_won": 4.5537,
                "total_long_balls": 5.3673,
                "accurate_long_balls": 1.3808,
                "total_own_half_passes": 25.991,
                "accurate_own_half_passes": 24.0484,
                "total_opp_half_passes": 19.617,
                "accurate_opp_half_passes": 14.6536,
                "crosses_total": 0.2062,
                "crosses_accurate": 0.0,
                "touches": 60.1735,
                "possession_lost": 8.2201,
                "dispossessed": 0.0,
                "duels_lost": 3.6746,
                "aerial_lost": 1.7603,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 2.5053,
                "challenges_lost": 0.3191,
                "fouls": 1.6729,
                "fouls_drawn": 0.3892,
                "blocks": 0.8752,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0553,
                "expected_assists": 0.0096,
                "shots_on_target": 0.2821,
                "big_chances_created": 0.0,
                "xgot": 0.0129,
                "ball_carries": 20.1081,
                "total_progression": 80.0899,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.2044
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-02-27",
                    "opponent": "Levante UD",
                    "minutes": 27.0,
                    "is_starting": false,
                    "weight": 0.1868,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-02-14",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1588,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-02-08",
                    "opponent": "Getafe",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1349,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-01-30",
                    "opponent": "Espanyol",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1147,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2025-09-24",
                    "opponent": "Getafe",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0975,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2025-09-20",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0829,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2025-09-13",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0704,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2025-08-30",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0599,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2025-08-22",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0509,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2025-08-16",
                    "opponent": "Levante UD",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0433,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 10.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 6.5595,
                  "aerialWon": 2.3702,
                  "totalClearance_p90": 8.555,
                  "totalTackle": 1.1845,
                  "totalTackle_p90": 1.6203
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.8678977489471436,
                    "model_output": 0.8679,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.1069
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0978
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0211
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0171
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0148
                        }
                      ],
                      "others": -0.0049,
                      "total": 0.8679,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.130889
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.120372
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.024818
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.020138
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.017147
                        }
                      ],
                      "others_margin": -0.005662
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.3127435445785522,
                    "model_output": 1.3127,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1947
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0576
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0545
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0483
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0336
                        }
                      ],
                      "others": -0.1427,
                      "total": 1.3127,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.131327
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.037078
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.036414
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.033408
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.02338
                        }
                      ],
                      "others_margin": -0.103191
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.7357256412506104,
                    "model_output": 0.7357,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1162
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0592
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0389
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0329
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0323
                        }
                      ],
                      "others": -0.1312,
                      "total": 0.7357,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.128406
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.063307
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.043969
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.037322
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.036568
                        }
                      ],
                      "others_margin": -0.164169
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 6.316019058227539,
                    "model_output": 6.316,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "totalClearance",
                          "contribution": 0.7203
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.5941
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.3863
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.3557
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.2157
                        }
                      ],
                      "others": 0.6282,
                      "total": 6.316,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "totalClearance",
                          "margin": 0.191341
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.134217
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.078515
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.067209
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.038667
                        }
                      ],
                      "others_margin": 0.104757
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 2.449695587158203,
                    "model_output": 2.4497,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": 0.3291
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1994
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.2102
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.1872
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0733
                        }
                      ],
                      "others": 0.0808,
                      "total": 2.4497,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": 0.215301
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.110995
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.105028
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.085075
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.031412
                        }
                      ],
                      "others_margin": 0.033559
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.48652175068855286,
                    "model_output": 0.4865,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0733
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0495
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0246
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0242
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0242
                        }
                      ],
                      "others": -0.0937,
                      "total": 0.4865,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.073304
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.049468
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.024554
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.024184
                        },
                        {
                          "name": "rating",
                          "margin": -0.02418
                        }
                      ],
                      "others_margin": -0.093688
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.769360542297363,
                    "model_output": 6.7694,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": -0.0176
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0164
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0118
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0109
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0109
                        }
                      ],
                      "others": 0.0164,
                      "total": 6.7694,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": -0.017613
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.016367
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.011773
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.010948
                        },
                        {
                          "name": "long_ball_accuracy",
                          "margin": -0.01093
                        }
                      ],
                      "others_margin": 0.016315
                    }
                  }
                ],
                "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 0.9932, quality 0.437)",
              "stats": {
                "interceptions": 0.862,
                "tackles": 1.3038,
                "tackles_won": 0.7307,
                "clearances": 6.2731,
                "aerial_won": 2.433,
                "total_shots": 0.4832,
                "rating": 6.7694,
                "minutes": 90.0,
                "total_pass": 45.2979,
                "accurate_pass": 38.4388,
                "duels_won": 4.5227,
                "total_long_balls": 5.3308,
                "accurate_long_balls": 1.3714,
                "total_own_half_passes": 25.8143,
                "accurate_own_half_passes": 23.8849,
                "total_opp_half_passes": 19.4836,
                "accurate_opp_half_passes": 14.554,
                "crosses_total": 0.2048,
                "crosses_accurate": 0.0,
                "touches": 59.7643,
                "possession_lost": 8.1642,
                "dispossessed": 0.0,
                "duels_lost": 3.6496,
                "aerial_lost": 1.7483,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 2.4883,
                "challenges_lost": 0.3169,
                "fouls": 1.6615,
                "fouls_drawn": 0.3866,
                "blocks": 0.8692,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0549,
                "expected_assists": 0.0095,
                "shots_on_target": 0.2802,
                "big_chances_created": 0.0,
                "xgot": 0.0128,
                "ball_carries": 19.9714,
                "total_progression": 79.5453,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.203
              },
              "params": {
                "market_value_eur": 1300000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9932,
                "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": {
                "interceptions": 0.862,
                "tackles": 1.3038,
                "tackles_won": 0.7307,
                "clearances": 6.2731,
                "aerial_won": 2.433,
                "total_shots": 0.4832,
                "rating": 6.7694,
                "minutes": 90.0,
                "total_pass": 45.2979,
                "accurate_pass": 38.4388,
                "duels_won": 4.5227,
                "total_long_balls": 5.3308,
                "accurate_long_balls": 1.3714,
                "total_own_half_passes": 25.8143,
                "accurate_own_half_passes": 23.8849,
                "total_opp_half_passes": 19.4836,
                "accurate_opp_half_passes": 14.554,
                "crosses_total": 0.2048,
                "crosses_accurate": 0.0,
                "touches": 59.7643,
                "possession_lost": 8.1642,
                "dispossessed": 0.0,
                "duels_lost": 3.6496,
                "aerial_lost": 1.7483,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 2.4883,
                "challenges_lost": 0.3169,
                "fouls": 1.6615,
                "fouls_drawn": 0.3866,
                "blocks": 0.8692,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0549,
                "expected_assists": 0.0095,
                "shots_on_target": 0.2802,
                "big_chances_created": 0.0,
                "xgot": 0.0128,
                "ball_carries": 19.9714,
                "total_progression": 79.5453,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.203
              },
              "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.862,
                "tackles": 1.3038,
                "tackles_won": 0.7307,
                "clearances": 6.2731,
                "aerial_won": 2.433,
                "total_shots": 0.4832,
                "rating": 6.7694,
                "minutes": 90.0,
                "total_pass": 45.2979,
                "accurate_pass": 38.4388,
                "duels_won": 4.5227,
                "total_long_balls": 5.3308,
                "accurate_long_balls": 1.3714,
                "total_own_half_passes": 25.8143,
                "accurate_own_half_passes": 23.8849,
                "total_opp_half_passes": 19.4836,
                "accurate_opp_half_passes": 14.554,
                "crosses_total": 0.2048,
                "crosses_accurate": 0.0,
                "touches": 59.7643,
                "possession_lost": 8.1642,
                "dispossessed": 0.0,
                "duels_lost": 3.6496,
                "aerial_lost": 1.7483,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 2.4883,
                "challenges_lost": 0.3169,
                "fouls": 1.6615,
                "fouls_drawn": 0.3866,
                "blocks": 0.8692,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0549,
                "expected_assists": 0.0095,
                "shots_on_target": 0.2802,
                "big_chances_created": 0.0,
                "xgot": 0.0128,
                "ball_carries": 19.9714,
                "total_progression": 79.5453,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.203,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Peque Fernández",
                  "matchup_zone": "LW vs RWB + CB"
                }
              }
            },
            {
              "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.862,
                "tackles": 1.3038,
                "tackles_won": 0.7307,
                "clearances": 6.2731,
                "aerial_won": 2.433,
                "total_shots": 0.4832,
                "rating": 6.7694,
                "minutes": 90.0,
                "total_pass": 45.2979,
                "accurate_pass": 38.4388,
                "duels_won": 4.5227,
                "total_long_balls": 5.3308,
                "accurate_long_balls": 1.3714,
                "total_own_half_passes": 25.8143,
                "accurate_own_half_passes": 23.8849,
                "total_opp_half_passes": 19.4836,
                "accurate_opp_half_passes": 14.554,
                "crosses_total": 0.2048,
                "crosses_accurate": 0.0,
                "touches": 59.7643,
                "possession_lost": 8.1642,
                "dispossessed": 0.0,
                "duels_lost": 3.6496,
                "aerial_lost": 1.7483,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 2.4883,
                "challenges_lost": 0.3169,
                "fouls": 1.6615,
                "fouls_drawn": 0.3866,
                "blocks": 0.8692,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0549,
                "expected_assists": 0.0095,
                "shots_on_target": 0.2802,
                "big_chances_created": 0.0,
                "xgot": 0.0128,
                "ball_carries": 19.9714,
                "total_progression": 79.5453,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.203,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "interceptions": 0.862,
                "tackles": 1.3038,
                "tackles_won": 0.7307,
                "clearances": 6.2731,
                "aerial_won": 2.433,
                "total_shots": 0.4832,
                "rating": 6.7694,
                "minutes": 90.0,
                "total_pass": 45.2979,
                "accurate_pass": 38.4388,
                "duels_won": 4.5227,
                "total_long_balls": 5.3308,
                "accurate_long_balls": 1.3714,
                "total_own_half_passes": 25.8143,
                "accurate_own_half_passes": 23.8849,
                "total_opp_half_passes": 19.4836,
                "accurate_opp_half_passes": 14.554,
                "crosses_total": 0.2048,
                "crosses_accurate": 0.0,
                "touches": 59.7643,
                "possession_lost": 8.1642,
                "dispossessed": 0.0,
                "duels_lost": 3.6496,
                "aerial_lost": 1.7483,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 2.4883,
                "challenges_lost": 0.3169,
                "fouls": 1.6615,
                "fouls_drawn": 0.3866,
                "blocks": 0.8692,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0837,
                "expected_assists": 0.0152,
                "shots_on_target": 0.2802,
                "big_chances_created": 0.0,
                "xgot": 0.0195,
                "ball_carries": 19.9714,
                "total_progression": 79.5453,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.203,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8403
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0549,
                  "after": 0.0837
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0095,
                  "after": 0.0152
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 9 by projected rating, fifa_overall 78.0)",
              "stats": {
                "interceptions": 0.862,
                "tackles": 1.3038,
                "tackles_won": 0.7307,
                "clearances": 6.2731,
                "aerial_won": 2.433,
                "total_shots": 0.4832,
                "rating": 6.7694,
                "minutes": 90.0,
                "total_pass": 45.2979,
                "accurate_pass": 38.4388,
                "duels_won": 4.5227,
                "total_long_balls": 5.3308,
                "accurate_long_balls": 1.3714,
                "total_own_half_passes": 25.8143,
                "accurate_own_half_passes": 23.8849,
                "total_opp_half_passes": 19.4836,
                "accurate_opp_half_passes": 14.554,
                "crosses_total": 0.2048,
                "crosses_accurate": 0.0,
                "touches": 59.7643,
                "possession_lost": 8.1642,
                "dispossessed": 0.0,
                "duels_lost": 3.6496,
                "aerial_lost": 1.7483,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 2.4883,
                "challenges_lost": 0.3169,
                "fouls": 1.6615,
                "fouls_drawn": 0.3866,
                "blocks": 0.8692,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0837,
                "expected_assists": 0.0152,
                "shots_on_target": 0.2802,
                "big_chances_created": 0.0,
                "xgot": 0.0195,
                "ball_carries": 19.9714,
                "total_progression": 79.5453,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.203,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8403,
                "fifa_overall": 78.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": 2116,
                "fifa_rank": 1091.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": 0.862,
                "tackles": 1.3038,
                "tackles_won": 0.7307,
                "clearances": 6.2731,
                "aerial_won": 2.433,
                "total_shots": 0.4832,
                "rating": 6.7694,
                "minutes": 90.0,
                "total_pass": 45.2979,
                "accurate_pass": 38.4388,
                "duels_won": 4.5227,
                "total_long_balls": 5.3308,
                "accurate_long_balls": 1.3714,
                "total_own_half_passes": 25.8143,
                "accurate_own_half_passes": 23.8849,
                "total_opp_half_passes": 19.4836,
                "accurate_opp_half_passes": 14.554,
                "crosses_total": 0.2048,
                "crosses_accurate": 0.0,
                "touches": 59.7643,
                "possession_lost": 8.1642,
                "dispossessed": 0.0,
                "duels_lost": 3.6496,
                "aerial_lost": 1.7483,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 2.4883,
                "challenges_lost": 0.3169,
                "fouls": 1.6615,
                "fouls_drawn": 0.3866,
                "blocks": 0.8692,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0837,
                "expected_assists": 0.0152,
                "shots_on_target": 0.2802,
                "big_chances_created": 0.0,
                "xgot": 0.0195,
                "ball_carries": 19.9714,
                "total_progression": 79.5453,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.203,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0803,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8403,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0803,
                "goal_rate": 0.0,
                "scorer_weight": 0.067,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0473,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 8,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.862,
                "tackles": 1.3038,
                "tackles_won": 0.7307,
                "clearances": 6.2731,
                "aerial_won": 2.433,
                "total_shots": 0.4832,
                "rating": 6.7694,
                "minutes": 90.0,
                "total_pass": 45.2979,
                "accurate_pass": 38.4388,
                "duels_won": 4.5227,
                "total_long_balls": 5.3308,
                "accurate_long_balls": 1.3714,
                "total_own_half_passes": 25.8143,
                "accurate_own_half_passes": 23.8849,
                "total_opp_half_passes": 19.4836,
                "accurate_opp_half_passes": 14.554,
                "crosses_total": 0.2048,
                "crosses_accurate": 0.0,
                "touches": 59.7643,
                "possession_lost": 8.1642,
                "dispossessed": 0.0,
                "duels_lost": 3.6496,
                "aerial_lost": 1.7483,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 2.4883,
                "challenges_lost": 0.3169,
                "fouls": 1.6615,
                "fouls_drawn": 0.3866,
                "blocks": 0.8692,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0837,
                "expected_assists": 0.0152,
                "shots_on_target": 0.2802,
                "big_chances_created": 0.0,
                "xgot": 0.0195,
                "ball_carries": 19.9714,
                "total_progression": 79.5453,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.203,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.9,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.758,
                "opponent_faced": "Peque Fernández",
                "pressing_zone": "LW vs RWB + CB",
                "matchup_zone": "LW vs RWB + CB",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0803,
                "projected_assists": 0,
                "assist_probability": 0.0151,
                "finishing_factor": 0.8,
                "creation_factor": 0.8403,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0151,
                "assist_rate": 0.0,
                "provider_weight": 0.0128,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0154,
                "creation_factor": 0.8403,
                "appearance_weight": 1.0,
                "weight_rank": 13,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Nicolás Valentini": {
          "player_id": 1116570,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 2,
          "height": 184,
          "market_value": 3100000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "total_shots": 1,
            "rating": 6.7745,
            "minutes": 81,
            "total_pass": 43,
            "accurate_pass": 32,
            "duels_won": 3,
            "total_long_balls": 8,
            "accurate_long_balls": 3,
            "total_own_half_passes": 24,
            "accurate_own_half_passes": 21,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 11,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 55,
            "possession_lost": 14.0047,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0502,
            "expected_assists": 0.031,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.023,
            "ball_carries": 15,
            "total_progression": 46,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "opponent_faced": "Miguel Sierra",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.049,
            "projected_assists": 0,
            "assist_probability": 0.0305,
            "finishing_factor": 0.8,
            "creation_factor": 0.8,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 55,
                "rating": 6.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.004,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 46,
                "accurate_pass": 35,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 6,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.145,
                "expected_assists": 0.0319,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 59,
                "accurate_pass": 40,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 71,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0032,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 32,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0007,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 18,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 7,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0745,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 31,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0069,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 14,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 10,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0244,
                "expected_assists": 0.0002,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 5,
                "accurate_pass": 5,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4138,
            "combined_rank_score": 2135.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 822.0,
            "sofascore_rating": 6.6,
            "sofascore_appearances": 1.0,
            "fifa_rank": 3449.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7745,
            "source_file": "data/player_rankings.csv",
            "player_name": "Nicolás Valentini",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Yunus Musah",
                  "ranking": 4133
                },
                {
                  "player_name": "Florent Muslija",
                  "ranking": 4134
                },
                {
                  "player_name": "Darnell Furlong",
                  "ranking": 4135
                },
                {
                  "player_name": "Lucas Noubi",
                  "ranking": 4136
                },
                {
                  "player_name": "Marcão",
                  "ranking": 4137
                }
              ],
              "lower": [
                {
                  "player_name": "Borna Sosa",
                  "ranking": 4139
                },
                {
                  "player_name": "Nathan Broadhead",
                  "ranking": 4140
                },
                {
                  "player_name": "Fábio Cardoso",
                  "ranking": 4141
                },
                {
                  "player_name": "Jorge Sánchez",
                  "ranking": 4142
                },
                {
                  "player_name": "Christos Mouzakitis",
                  "ranking": 4143
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.689,
          "history_matches": 7,
          "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": 7,
            "data_confidence": 0.689,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9917,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "minutes": 11.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 8.18,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "XGBoost regressor (D_service) evaluated 7 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Alavés, rel: 0.01, 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": 1.0931,
                "tackles": 1.5332,
                "tackles_won": 0.9523,
                "clearances": 3.58,
                "aerial_won": 1.3154,
                "total_shots": 0.597,
                "rating": 6.7745,
                "minutes": 80.62,
                "total_pass": 43.5213,
                "accurate_pass": 32.1834,
                "duels_won": 3.4179,
                "total_long_balls": 8.1974,
                "accurate_long_balls": 3.065,
                "total_own_half_passes": 23.8779,
                "accurate_own_half_passes": 20.7493,
                "total_opp_half_passes": 19.6434,
                "accurate_opp_half_passes": 11.4342,
                "crosses_total": 0.2815,
                "crosses_accurate": 0.1407,
                "touches": 55.8198,
                "possession_lost": 14.1219,
                "dispossessed": 0.0,
                "duels_lost": 2.7573,
                "aerial_lost": 1.0636,
                "total_contest": 0.1948,
                "won_contest": 0.0,
                "ball_recovery": 3.2898,
                "challenges_lost": 0.8052,
                "fouls": 0.6937,
                "fouls_drawn": 0.3063,
                "blocks": 0.4763,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0332,
                "expected_assists": 0.0196,
                "shots_on_target": 0.2292,
                "big_chances_created": 0.0,
                "xgot": 0.0152,
                "ball_carries": 14.6582,
                "total_progression": 46.0348,
                "progressive_carries": 0.1408,
                "key_pass": 0.1408,
                "shots_off_target": 0.3678
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 55.0,
                    "is_starting": true,
                    "weight": 0.2208,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1877,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.1595,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1356,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1152,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.098,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.0833,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 7.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 2.824,
                  "aerialWon": 1.4274,
                  "totalClearance_p90": 3.2458,
                  "totalTackle": 1.3015,
                  "totalTackle_p90": 1.5274
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.0931051969528198,
                    "model_output": 1.0931,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1177
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0611
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": 0.0144
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0134
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0117
                        }
                      ],
                      "others": 0.0539,
                      "total": 1.0931,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.126725
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.059929
                        },
                        {
                          "name": "tackle_success_rate",
                          "margin": 0.013586
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.012679
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": -0.011217
                        }
                      ],
                      "others_margin": 0.050648
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.5331909656524658,
                    "model_output": 1.5332,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1647
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0448
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0391
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0383
                        },
                        {
                          "name": "dispossessed",
                          "contribution": -0.0279
                        }
                      ],
                      "others": 0.0545,
                      "total": 1.5332,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.112192
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.029306
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.026273
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.02572
                        },
                        {
                          "name": "dispossessed",
                          "margin": -0.018704
                        }
                      ],
                      "others_margin": 0.036219
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.952296793460846,
                    "model_output": 0.9523,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1114
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0366
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0308
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0296
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0273
                        }
                      ],
                      "others": -0.0108,
                      "total": 0.9523,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.123415
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.03738
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.031385
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.031157
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.028803
                        }
                      ],
                      "others_margin": -0.011322
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.5800466537475586,
                    "model_output": 3.58,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.496
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.36
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.3003
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.2698
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.1295
                        }
                      ],
                      "others": 0.1273,
                      "total": 3.58,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.135581
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.096554
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.08117
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.07263
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.036812
                        }
                      ],
                      "others_margin": 0.036238
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.3153637647628784,
                    "model_output": 1.3154,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1588
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0996
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0642
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0492
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0357
                        }
                      ],
                      "others": -0.0358,
                      "total": 1.3154,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.109727
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.067406
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.046001
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.036727
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.026755
                        }
                      ],
                      "others_margin": -0.026827
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5969529151916504,
                    "model_output": 0.597,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0637
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0253
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0182
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.017
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0167
                        }
                      ],
                      "others": -0.0251,
                      "total": 0.597,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.06372
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.025304
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.01821
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.017013
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": 0.016723
                        }
                      ],
                      "others_margin": -0.025265
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.77450704574585,
                    "model_output": 6.7745,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0168
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0122
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0092
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0089
                        },
                        {
                          "name": "errorLeadToAShot",
                          "contribution": 0.0063
                        }
                      ],
                      "others": -0.0013,
                      "total": 6.7745,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.016795
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.012169
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.009236
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.008902
                        },
                        {
                          "name": "errorLeadToAShot",
                          "margin": 0.006282
                        }
                      ],
                      "others_margin": -0.001257
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 7,
                  "role_matches": 5,
                  "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.9917, quality 0.439)",
              "stats": {
                "interceptions": 1.084,
                "tackles": 1.5205,
                "tackles_won": 0.9444,
                "clearances": 3.5503,
                "aerial_won": 1.3044,
                "total_shots": 0.592,
                "rating": 6.7745,
                "minutes": 80.62,
                "total_pass": 43.1601,
                "accurate_pass": 31.9163,
                "duels_won": 3.3895,
                "total_long_balls": 8.1294,
                "accurate_long_balls": 3.0396,
                "total_own_half_passes": 23.6797,
                "accurate_own_half_passes": 20.5771,
                "total_opp_half_passes": 19.4804,
                "accurate_opp_half_passes": 11.3393,
                "crosses_total": 0.2792,
                "crosses_accurate": 0.1395,
                "touches": 55.3565,
                "possession_lost": 14.0047,
                "dispossessed": 0.0,
                "duels_lost": 2.7344,
                "aerial_lost": 1.0548,
                "total_contest": 0.1932,
                "won_contest": 0.0,
                "ball_recovery": 3.2625,
                "challenges_lost": 0.7985,
                "fouls": 0.6879,
                "fouls_drawn": 0.3038,
                "blocks": 0.4723,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0329,
                "expected_assists": 0.0194,
                "shots_on_target": 0.2273,
                "big_chances_created": 0.0,
                "xgot": 0.0151,
                "ball_carries": 14.5365,
                "total_progression": 45.6527,
                "progressive_carries": 0.1396,
                "key_pass": 0.1396,
                "shots_off_target": 0.3647
              },
              "params": {
                "market_value_eur": 3100000,
                "quality_factor": 0.4387,
                "boost_factor": 0.9917,
                "reference_quality": 0.505,
                "history_matches": 7,
                "history_shrink": 0.4167,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0018)",
              "stats": {
                "interceptions": 1.082,
                "tackles": 1.5205,
                "tackles_won": 0.9427,
                "clearances": 3.5503,
                "aerial_won": 1.3044,
                "total_shots": 0.6042,
                "rating": 6.7745,
                "minutes": 80.62,
                "total_pass": 43.1601,
                "accurate_pass": 31.9163,
                "duels_won": 3.3895,
                "total_long_balls": 8.1294,
                "accurate_long_balls": 3.0396,
                "total_own_half_passes": 23.6797,
                "accurate_own_half_passes": 20.5771,
                "total_opp_half_passes": 19.4804,
                "accurate_opp_half_passes": 11.3393,
                "crosses_total": 0.2787,
                "crosses_accurate": 0.1395,
                "touches": 55.3565,
                "possession_lost": 14.0047,
                "dispossessed": 0.0,
                "duels_lost": 2.7344,
                "aerial_lost": 1.0548,
                "total_contest": 0.1932,
                "won_contest": 0.0,
                "ball_recovery": 3.2625,
                "challenges_lost": 0.7985,
                "fouls": 0.7029,
                "fouls_drawn": 0.3032,
                "blocks": 0.4723,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0329,
                "expected_assists": 0.0194,
                "shots_on_target": 0.2269,
                "big_chances_created": 0.0,
                "xgot": 0.0151,
                "ball_carries": 14.5365,
                "total_progression": 45.6527,
                "progressive_carries": 0.1396,
                "key_pass": 0.1396,
                "shots_off_target": 0.3647
              },
              "params": {
                "blend_weight": 0.0018,
                "history_matches": 7,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.8958,
                "prior_reliability": 0.0067,
                "competition": "La Liga",
                "squad": "Alavés"
              },
              "changes": [
                {
                  "stat": "fouls",
                  "before": 0.6879,
                  "after": 0.7029
                },
                {
                  "stat": "totalShots",
                  "before": 0.592,
                  "after": 0.6042
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.082,
                "tackles": 1.5205,
                "tackles_won": 0.9427,
                "clearances": 3.5503,
                "aerial_won": 1.3044,
                "total_shots": 0.6042,
                "rating": 6.7745,
                "minutes": 80.62,
                "total_pass": 43.1601,
                "accurate_pass": 31.9163,
                "duels_won": 3.3895,
                "total_long_balls": 8.1294,
                "accurate_long_balls": 3.0396,
                "total_own_half_passes": 23.6797,
                "accurate_own_half_passes": 20.5771,
                "total_opp_half_passes": 19.4804,
                "accurate_opp_half_passes": 11.3393,
                "crosses_total": 0.2787,
                "crosses_accurate": 0.1395,
                "touches": 55.3565,
                "possession_lost": 14.0047,
                "dispossessed": 0.0,
                "duels_lost": 2.7344,
                "aerial_lost": 1.0548,
                "total_contest": 0.1932,
                "won_contest": 0.0,
                "ball_recovery": 3.2625,
                "challenges_lost": 0.7985,
                "fouls": 0.7029,
                "fouls_drawn": 0.3032,
                "blocks": 0.4723,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0329,
                "expected_assists": 0.0194,
                "shots_on_target": 0.2269,
                "big_chances_created": 0.0,
                "xgot": 0.0151,
                "ball_carries": 14.5365,
                "total_progression": 45.6527,
                "progressive_carries": 0.1396,
                "key_pass": 0.1396,
                "shots_off_target": 0.3647
              },
              "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.082,
                "tackles": 1.5205,
                "tackles_won": 0.9427,
                "clearances": 3.5503,
                "aerial_won": 1.3044,
                "total_shots": 0.6042,
                "rating": 6.7745,
                "minutes": 80.62,
                "total_pass": 43.1601,
                "accurate_pass": 31.9163,
                "duels_won": 3.3895,
                "total_long_balls": 8.1294,
                "accurate_long_balls": 3.0396,
                "total_own_half_passes": 23.6797,
                "accurate_own_half_passes": 20.5771,
                "total_opp_half_passes": 19.4804,
                "accurate_opp_half_passes": 11.3393,
                "crosses_total": 0.2787,
                "crosses_accurate": 0.1395,
                "touches": 55.3565,
                "possession_lost": 14.0047,
                "dispossessed": 0.0,
                "duels_lost": 2.7344,
                "aerial_lost": 1.0548,
                "total_contest": 0.1932,
                "won_contest": 0.0,
                "ball_recovery": 3.2625,
                "challenges_lost": 0.7985,
                "fouls": 0.7029,
                "fouls_drawn": 0.3032,
                "blocks": 0.4723,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0329,
                "expected_assists": 0.0194,
                "shots_on_target": 0.2269,
                "big_chances_created": 0.0,
                "xgot": 0.0151,
                "ball_carries": 14.5365,
                "total_progression": 45.6527,
                "progressive_carries": 0.1396,
                "key_pass": 0.1396,
                "shots_off_target": 0.3647,
                "opponent_faced": "Miguel Sierra",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Miguel Sierra",
                  "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.082,
                "tackles": 1.5205,
                "tackles_won": 0.9427,
                "clearances": 3.5503,
                "aerial_won": 1.3044,
                "total_shots": 0.6042,
                "rating": 6.7745,
                "minutes": 80.62,
                "total_pass": 43.1601,
                "accurate_pass": 31.9163,
                "duels_won": 3.3895,
                "total_long_balls": 8.1294,
                "accurate_long_balls": 3.0396,
                "total_own_half_passes": 23.6797,
                "accurate_own_half_passes": 20.5771,
                "total_opp_half_passes": 19.4804,
                "accurate_opp_half_passes": 11.3393,
                "crosses_total": 0.2787,
                "crosses_accurate": 0.1395,
                "touches": 55.3565,
                "possession_lost": 14.0047,
                "dispossessed": 0.0,
                "duels_lost": 2.7344,
                "aerial_lost": 1.0548,
                "total_contest": 0.1932,
                "won_contest": 0.0,
                "ball_recovery": 3.2625,
                "challenges_lost": 0.7985,
                "fouls": 0.7029,
                "fouls_drawn": 0.3032,
                "blocks": 0.4723,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0329,
                "expected_assists": 0.0194,
                "shots_on_target": 0.2269,
                "big_chances_created": 0.0,
                "xgot": 0.0151,
                "ball_carries": 14.5365,
                "total_progression": 45.6527,
                "progressive_carries": 0.1396,
                "key_pass": 0.1396,
                "shots_off_target": 0.3647,
                "opponent_faced": "Miguel Sierra",
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "interceptions": 1.082,
                "tackles": 1.5205,
                "tackles_won": 0.9427,
                "clearances": 3.5503,
                "aerial_won": 1.3044,
                "total_shots": 0.6042,
                "rating": 6.7745,
                "minutes": 80.62,
                "total_pass": 43.1601,
                "accurate_pass": 31.9163,
                "duels_won": 3.3895,
                "total_long_balls": 8.1294,
                "accurate_long_balls": 3.0396,
                "total_own_half_passes": 23.6797,
                "accurate_own_half_passes": 20.5771,
                "total_opp_half_passes": 19.4804,
                "accurate_opp_half_passes": 11.3393,
                "crosses_total": 0.2787,
                "crosses_accurate": 0.1395,
                "touches": 55.3565,
                "possession_lost": 14.0047,
                "dispossessed": 0.0,
                "duels_lost": 2.7344,
                "aerial_lost": 1.0548,
                "total_contest": 0.1932,
                "won_contest": 0.0,
                "ball_recovery": 3.2625,
                "challenges_lost": 0.7985,
                "fouls": 0.7029,
                "fouls_drawn": 0.3032,
                "blocks": 0.4723,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0502,
                "expected_assists": 0.031,
                "shots_on_target": 0.2269,
                "big_chances_created": 0.0,
                "xgot": 0.023,
                "ball_carries": 14.5365,
                "total_progression": 45.6527,
                "progressive_carries": 0.1396,
                "key_pass": 0.1396,
                "shots_off_target": 0.3647,
                "opponent_faced": "Miguel Sierra",
                "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.8,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0329,
                  "after": 0.0502
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0194,
                  "after": 0.031
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 8 by projected rating, fifa_overall 73.0)",
              "stats": {
                "interceptions": 1.082,
                "tackles": 1.5205,
                "tackles_won": 0.9427,
                "clearances": 3.5503,
                "aerial_won": 1.3044,
                "total_shots": 0.6042,
                "rating": 6.7745,
                "minutes": 80.62,
                "total_pass": 43.1601,
                "accurate_pass": 31.9163,
                "duels_won": 3.3895,
                "total_long_balls": 8.1294,
                "accurate_long_balls": 3.0396,
                "total_own_half_passes": 23.6797,
                "accurate_own_half_passes": 20.5771,
                "total_opp_half_passes": 19.4804,
                "accurate_opp_half_passes": 11.3393,
                "crosses_total": 0.2787,
                "crosses_accurate": 0.1395,
                "touches": 55.3565,
                "possession_lost": 14.0047,
                "dispossessed": 0.0,
                "duels_lost": 2.7344,
                "aerial_lost": 1.0548,
                "total_contest": 0.1932,
                "won_contest": 0.0,
                "ball_recovery": 3.2625,
                "challenges_lost": 0.7985,
                "fouls": 0.7029,
                "fouls_drawn": 0.3032,
                "blocks": 0.4723,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0502,
                "expected_assists": 0.031,
                "shots_on_target": 0.2269,
                "big_chances_created": 0.0,
                "xgot": 0.023,
                "ball_carries": 14.5365,
                "total_progression": 45.6527,
                "progressive_carries": 0.1396,
                "key_pass": 0.1396,
                "shots_off_target": 0.3647,
                "opponent_faced": "Miguel Sierra",
                "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.8,
                "creation_factor": 0.8,
                "fifa_overall": 73.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": 4138,
                "fifa_rank": 3449.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": {
                "interceptions": 1.082,
                "tackles": 1.5205,
                "tackles_won": 0.9427,
                "clearances": 3.5503,
                "aerial_won": 1.3044,
                "total_shots": 0.6042,
                "rating": 6.7745,
                "minutes": 80.62,
                "total_pass": 43.1601,
                "accurate_pass": 31.9163,
                "duels_won": 3.3895,
                "total_long_balls": 8.1294,
                "accurate_long_balls": 3.0396,
                "total_own_half_passes": 23.6797,
                "accurate_own_half_passes": 20.5771,
                "total_opp_half_passes": 19.4804,
                "accurate_opp_half_passes": 11.3393,
                "crosses_total": 0.2787,
                "crosses_accurate": 0.1395,
                "touches": 55.3565,
                "possession_lost": 14.0047,
                "dispossessed": 0.0,
                "duels_lost": 2.7344,
                "aerial_lost": 1.0548,
                "total_contest": 0.1932,
                "won_contest": 0.0,
                "ball_recovery": 3.2625,
                "challenges_lost": 0.7985,
                "fouls": 0.7029,
                "fouls_drawn": 0.3032,
                "blocks": 0.4723,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0502,
                "expected_assists": 0.031,
                "shots_on_target": 0.2269,
                "big_chances_created": 0.0,
                "xgot": 0.023,
                "ball_carries": 14.5365,
                "total_progression": 45.6527,
                "progressive_carries": 0.1396,
                "key_pass": 0.1396,
                "shots_off_target": 0.3647,
                "opponent_faced": "Miguel Sierra",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.049,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.049,
                "goal_rate": 0.0,
                "scorer_weight": 0.0402,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0284,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 10,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.082,
                "tackles": 1.5205,
                "tackles_won": 0.9427,
                "clearances": 3.5503,
                "aerial_won": 1.3044,
                "total_shots": 0.6042,
                "rating": 6.7745,
                "minutes": 80.62,
                "total_pass": 43.1601,
                "accurate_pass": 31.9163,
                "duels_won": 3.3895,
                "total_long_balls": 8.1294,
                "accurate_long_balls": 3.0396,
                "total_own_half_passes": 23.6797,
                "accurate_own_half_passes": 20.5771,
                "total_opp_half_passes": 19.4804,
                "accurate_opp_half_passes": 11.3393,
                "crosses_total": 0.2787,
                "crosses_accurate": 0.1395,
                "touches": 55.3565,
                "possession_lost": 14.0047,
                "dispossessed": 0.0,
                "duels_lost": 2.7344,
                "aerial_lost": 1.0548,
                "total_contest": 0.1932,
                "won_contest": 0.0,
                "ball_recovery": 3.2625,
                "challenges_lost": 0.7985,
                "fouls": 0.7029,
                "fouls_drawn": 0.3032,
                "blocks": 0.4723,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0502,
                "expected_assists": 0.031,
                "shots_on_target": 0.2269,
                "big_chances_created": 0.0,
                "xgot": 0.023,
                "ball_carries": 14.5365,
                "total_progression": 45.6527,
                "progressive_carries": 0.1396,
                "key_pass": 0.1396,
                "shots_off_target": 0.3647,
                "opponent_faced": "Miguel Sierra",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.049,
                "projected_assists": 0,
                "assist_probability": 0.0305,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0305,
                "assist_rate": 0.0,
                "provider_weight": 0.0248,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0299,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 10,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Antonio Blanco": {
          "player_id": 855832,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 176,
          "market_value": 9700000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1009,
            "assist_rate": 0.0656,
            "assists": 0,
            "expected_goals": 0.0617,
            "goal_rate": 0.0467,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.9045,
            "minutes": 82,
            "total_pass": 45,
            "accurate_pass": 39,
            "duels_won": 4,
            "total_long_balls": 5,
            "accurate_long_balls": 4,
            "total_own_half_passes": 22,
            "accurate_own_half_passes": 20,
            "total_opp_half_passes": 23,
            "accurate_opp_half_passes": 19,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 57,
            "possession_lost": 8.3603,
            "dispossessed": 0.9047,
            "duels_lost": 4,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0163,
            "ball_carries": 15,
            "total_progression": 21,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "duel_xg_multiplier": 0.87,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.6,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.362,
            "pressing_faced": "LOW",
            "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Lucien Agoumé",
            "opponent_faced": "Lucien Agoumé",
            "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0598,
            "projected_assists": 0,
            "assist_probability": 0.096,
            "finishing_factor": 1.0685,
            "creation_factor": 1.0212,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 75,
                "rating": 6.9,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0194,
                "expected_assists": 0.0168,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 47,
                "accurate_pass": 41,
                "tackles": 2,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 88,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.4284,
                "total_shots": 0,
                "total_pass": 68,
                "accurate_pass": 62,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 64,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0103,
                "total_shots": 0,
                "total_pass": 39,
                "accurate_pass": 36,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 15,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0022,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 7,
                "clearances": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 85,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0093,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 31,
                "tackles": 3,
                "tackles_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 67,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0154,
                "expected_assists": 0.0078,
                "total_shots": 1,
                "total_pass": 32,
                "accurate_pass": 25,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 5,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0841,
                "expected_assists": 0.0948,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 58,
                "accurate_pass": 54,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0305,
                "expected_assists": 0.089,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 26,
                "accurate_pass": 21,
                "key_pass": 1,
                "tackles": 5,
                "tackles_won": 2,
                "interceptions": 4,
                "clearances": 3,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0154,
                "total_shots": 0,
                "total_pass": 49,
                "accurate_pass": 41,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 2,
                "duels_won": 4,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421047.0,
              "match_date": "2026-08-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 89,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0741,
                "expected_assists": 0.0159,
                "total_shots": 3,
                "shots_off_target": 3,
                "total_pass": 42,
                "accurate_pass": 39,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2382,
            "combined_rank_score": 863.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 481.0,
            "sofascore_rating": 6.8722,
            "sofascore_appearances": 36.0,
            "fifa_rank": 1245.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9045,
            "source_file": "data/player_rankings.csv",
            "player_name": "Antonio Blanco",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Douglas Luiz",
                  "ranking": 2377
                },
                {
                  "player_name": "Bayron Oyarzo",
                  "ranking": 2378
                },
                {
                  "player_name": "Ignacio Mesías",
                  "ranking": 2379
                },
                {
                  "player_name": "Virgiliu Postolachi",
                  "ranking": 2380
                },
                {
                  "player_name": "Jung Se-jun",
                  "ranking": 2381
                }
              ],
              "lower": [
                {
                  "player_name": "Gorka Guruzeta",
                  "ranking": 2383
                },
                {
                  "player_name": "Alfon González",
                  "ranking": 2384
                },
                {
                  "player_name": "Rashid Abubakar",
                  "ranking": 2385
                },
                {
                  "player_name": "Fredrik André Bjørkan",
                  "ranking": 2386
                },
                {
                  "player_name": "Carlos Escobar",
                  "ranking": 2387
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 46,
          "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": 46,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0004,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "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": 1.34,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (M_service) evaluated 46 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Alavés, 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.7707,
                "expected_assists": 0.0632,
                "assists": 0.0664,
                "assist_rate": 0.0664,
                "expected_goals": 0.0466,
                "goals": 0.0544,
                "goal_rate": 0.0544,
                "shots_on_target": 0.2012,
                "total_shots": 0.6993,
                "rating": 6.9045,
                "minutes": 82.13,
                "total_pass": 44.5607,
                "accurate_pass": 39.0052,
                "duels_won": 3.7751,
                "total_long_balls": 5.051,
                "accurate_long_balls": 3.715,
                "total_own_half_passes": 21.7451,
                "accurate_own_half_passes": 20.1963,
                "total_opp_half_passes": 22.8156,
                "accurate_opp_half_passes": 18.8088,
                "crosses_total": 0.9671,
                "crosses_accurate": 0.3872,
                "touches": 57.3403,
                "possession_lost": 8.357,
                "dispossessed": 0.9043,
                "duels_lost": 4.1721,
                "aerial_won": 0.4806,
                "aerial_lost": 0.4192,
                "interceptions": 1.1604,
                "tackles_won": 0.8836,
                "tackles": 2.0544,
                "clearances": 0.8545,
                "total_contest": 0.8639,
                "won_contest": 0.5514,
                "challenges_lost": 1.0471,
                "fouls": 1.4894,
                "fouls_drawn": 0.6926,
                "blocks": 0.1348,
                "big_chances_created": 0.2813,
                "big_chances_missed": 0.0,
                "xgot": 0.0123,
                "ball_carries": 14.5672,
                "total_progression": 21.383,
                "progressive_carries": 0.2173,
                "shots_off_target": 0.4981
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 75.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 64.0,
                    "is_starting": true,
                    "weight": 0.1084,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 15.0,
                    "is_starting": false,
                    "weight": 0.0922,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.0783,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Getafe",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.6991,
                  "creative_index": 0.3015,
                  "expectedGoals": 0.0248,
                  "expectedAssists": 0.0844,
                  "keyPass": 0.6271
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.7707213759422302,
                    "model_output": 0.7707,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1402
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.081
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0651
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0505
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0458
                        }
                      ],
                      "others": -0.1089,
                      "total": 0.7707,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.146253
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.081889
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.071022
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.058786
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.053456
                        }
                      ],
                      "others_margin": -0.132143
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.06316307932138443,
                    "model_output": 0.0632,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0145
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0129
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0074
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0047
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0038
                        }
                      ],
                      "others": -0.0166,
                      "total": 0.0632,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.157748
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.138936
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.089633
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.05827
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.046348
                        }
                      ],
                      "others_margin": -0.234212
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06637322902679443,
                    "model_output": 0.0664,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0079
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0069
                        },
                        {
                          "name": "keyPass_p90",
                          "contribution": -0.004
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0033
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0023
                        }
                      ],
                      "others": -0.0127,
                      "total": 0.0664,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.097216
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.085639
                        },
                        {
                          "name": "keyPass_p90",
                          "margin": -0.04926
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.042445
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.029117
                        }
                      ],
                      "others_margin": -0.174824
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.04662895202636719,
                    "model_output": 0.0466,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0262
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0075
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0068
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0053
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0037
                        }
                      ],
                      "others": -0.0093,
                      "total": 0.0466,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.336617
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.120649
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.110246
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.08451
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.063896
                        }
                      ],
                      "others_margin": -0.182144
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.05437512323260307,
                    "model_output": 0.0544,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0152
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0117
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0084
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0074
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0046
                        }
                      ],
                      "others": -0.0077,
                      "total": 0.0544,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.174694
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.158812
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.132347
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.117482
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.071043
                        }
                      ],
                      "others_margin": -0.134047
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.2011624574661255,
                    "model_output": 0.2012,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.048
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.039
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0318
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0275
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0075
                        }
                      ],
                      "others": -0.0179,
                      "total": 0.2012,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.163709
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.156101
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.148125
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.129447
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.033721
                        }
                      ],
                      "others_margin": -0.085346
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6992578506469727,
                    "model_output": 0.6993,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.124
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1003
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0571
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0522
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0427
                        }
                      ],
                      "others": -0.1573,
                      "total": 0.6993,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.124007
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.100318
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.057128
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.052176
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.042651
                        }
                      ],
                      "others_margin": -0.157411
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.904537200927734,
                    "model_output": 6.9045,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0646
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0355
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0227
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0131
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0127
                        }
                      ],
                      "others": -0.0307,
                      "total": 6.9045,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.064571
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.035481
                        },
                        {
                          "name": "rating",
                          "margin": -0.022681
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.013146
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.012689
                        }
                      ],
                      "others_margin": -0.030697
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 46,
                  "role_matches": 45,
                  "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.0004, quality 0.519)",
              "stats": {
                "key_pass": 0.771,
                "expected_assists": 0.0632,
                "assists": 0.0664,
                "assist_rate": 0.0664,
                "expected_goals": 0.0466,
                "goals": 0.0544,
                "goal_rate": 0.0544,
                "shots_on_target": 0.2012,
                "total_shots": 0.6995,
                "rating": 6.9045,
                "minutes": 82.13,
                "total_pass": 44.5785,
                "accurate_pass": 39.0208,
                "duels_won": 3.7766,
                "total_long_balls": 5.053,
                "accurate_long_balls": 3.7165,
                "total_own_half_passes": 21.7538,
                "accurate_own_half_passes": 20.2044,
                "total_opp_half_passes": 22.8247,
                "accurate_opp_half_passes": 18.8163,
                "crosses_total": 0.9675,
                "crosses_accurate": 0.3874,
                "touches": 57.3632,
                "possession_lost": 8.3603,
                "dispossessed": 0.9047,
                "duels_lost": 4.1738,
                "aerial_won": 0.4808,
                "aerial_lost": 0.4194,
                "interceptions": 1.1609,
                "tackles_won": 0.884,
                "tackles": 2.0552,
                "clearances": 0.8548,
                "total_contest": 0.8642,
                "won_contest": 0.5516,
                "challenges_lost": 1.0475,
                "fouls": 1.49,
                "fouls_drawn": 0.6929,
                "blocks": 0.1349,
                "big_chances_created": 0.2814,
                "big_chances_missed": 0.0,
                "xgot": 0.0123,
                "ball_carries": 14.573,
                "total_progression": 21.3916,
                "progressive_carries": 0.2174,
                "shots_off_target": 0.4983
              },
              "params": {
                "market_value_eur": 9700000,
                "quality_factor": 0.5189,
                "boost_factor": 1.0004,
                "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": {
                "key_pass": 0.771,
                "expected_assists": 0.0632,
                "assists": 0.0656,
                "assist_rate": 0.0656,
                "expected_goals": 0.0466,
                "goals": 0.0537,
                "goal_rate": 0.0537,
                "shots_on_target": 0.1986,
                "total_shots": 0.7062,
                "rating": 6.9045,
                "minutes": 82.13,
                "total_pass": 44.5785,
                "accurate_pass": 39.0208,
                "duels_won": 3.7766,
                "total_long_balls": 5.053,
                "accurate_long_balls": 3.7165,
                "total_own_half_passes": 21.7538,
                "accurate_own_half_passes": 20.2044,
                "total_opp_half_passes": 22.8247,
                "accurate_opp_half_passes": 18.8163,
                "crosses_total": 0.9746,
                "crosses_accurate": 0.3874,
                "touches": 57.3632,
                "possession_lost": 8.3603,
                "dispossessed": 0.9047,
                "duels_lost": 4.1738,
                "aerial_won": 0.4808,
                "aerial_lost": 0.4194,
                "interceptions": 1.1771,
                "tackles_won": 0.8882,
                "tackles": 2.0552,
                "clearances": 0.8548,
                "total_contest": 0.8642,
                "won_contest": 0.5516,
                "challenges_lost": 1.0475,
                "fouls": 1.5059,
                "fouls_drawn": 0.6918,
                "blocks": 0.1349,
                "big_chances_created": 0.2814,
                "big_chances_missed": 0.0,
                "xgot": 0.0123,
                "ball_carries": 14.573,
                "total_progression": 21.3916,
                "progressive_carries": 0.2174,
                "shots_off_target": 0.4983
              },
              "params": {
                "blend_weight": 0.0127,
                "history_matches": 46,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9126,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Alavés"
              },
              "changes": [
                {
                  "stat": "interceptionWon",
                  "before": 1.1609,
                  "after": 1.1771
                },
                {
                  "stat": "fouls",
                  "before": 1.49,
                  "after": 1.5059
                },
                {
                  "stat": "totalCross",
                  "before": 0.9675,
                  "after": 0.9746
                },
                {
                  "stat": "totalShots",
                  "before": 0.6995,
                  "after": 0.7062
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.771,
                "expected_assists": 0.0632,
                "assists": 0.0656,
                "assist_rate": 0.0656,
                "expected_goals": 0.0466,
                "goals": 0.0537,
                "goal_rate": 0.0537,
                "shots_on_target": 0.1986,
                "total_shots": 0.7062,
                "rating": 6.9045,
                "minutes": 82.13,
                "total_pass": 44.5785,
                "accurate_pass": 39.0208,
                "duels_won": 3.7766,
                "total_long_balls": 5.053,
                "accurate_long_balls": 3.7165,
                "total_own_half_passes": 21.7538,
                "accurate_own_half_passes": 20.2044,
                "total_opp_half_passes": 22.8247,
                "accurate_opp_half_passes": 18.8163,
                "crosses_total": 0.9746,
                "crosses_accurate": 0.3874,
                "touches": 57.3632,
                "possession_lost": 8.3603,
                "dispossessed": 0.9047,
                "duels_lost": 4.1738,
                "aerial_won": 0.4808,
                "aerial_lost": 0.4194,
                "interceptions": 1.1771,
                "tackles_won": 0.8882,
                "tackles": 2.0552,
                "clearances": 0.8548,
                "total_contest": 0.8642,
                "won_contest": 0.5516,
                "challenges_lost": 1.0475,
                "fouls": 1.5059,
                "fouls_drawn": 0.6918,
                "blocks": 0.1349,
                "big_chances_created": 0.2814,
                "big_chances_missed": 0.0,
                "xgot": 0.0123,
                "ball_carries": 14.573,
                "total_progression": 21.3916,
                "progressive_carries": 0.2174,
                "shots_off_target": 0.4983
              },
              "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.771,
                "expected_assists": 0.0632,
                "assists": 0.0656,
                "assist_rate": 0.0656,
                "expected_goals": 0.0405,
                "goals": 0.0467,
                "goal_rate": 0.0467,
                "shots_on_target": 0.1728,
                "total_shots": 0.6144,
                "rating": 6.9045,
                "minutes": 82.13,
                "total_pass": 44.5785,
                "accurate_pass": 39.0208,
                "duels_won": 3.7766,
                "total_long_balls": 5.053,
                "accurate_long_balls": 3.7165,
                "total_own_half_passes": 21.7538,
                "accurate_own_half_passes": 20.2044,
                "total_opp_half_passes": 22.8247,
                "accurate_opp_half_passes": 18.8163,
                "crosses_total": 0.9746,
                "crosses_accurate": 0.3874,
                "touches": 57.3632,
                "possession_lost": 8.3603,
                "dispossessed": 0.9047,
                "duels_lost": 4.1738,
                "aerial_won": 0.9,
                "aerial_lost": 0.4194,
                "interceptions": 1.1771,
                "tackles_won": 0.8882,
                "tackles": 2.0552,
                "clearances": 0.8548,
                "total_contest": 0.8642,
                "won_contest": 0.5516,
                "challenges_lost": 1.0475,
                "fouls": 1.5059,
                "fouls_drawn": 0.6918,
                "blocks": 0.1349,
                "big_chances_created": 0.2814,
                "big_chances_missed": 0.0,
                "xgot": 0.0107,
                "ball_carries": 14.573,
                "total_progression": 21.3916,
                "progressive_carries": 0.2174,
                "shots_off_target": 0.4335,
                "duel_xg_multiplier": 0.87,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.362,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Lucien Agoumé",
                  "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                  "duel_win_rate": 0.362,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.87,
                  "skill_edge": -0.0524,
                  "height_edge": -0.036,
                  "attacker_skill": 0.5316,
                  "defender_skill": 0.648,
                  "attacker_role": "CM",
                  "attacker_mv_price_index": 0.9,
                  "defender_adjusted_parts": [
                    {
                      "player": "Lucien Agoumé",
                      "market_value": 18500000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.648
                    }
                  ],
                  "xg_override": 0.0405
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.4808,
                  "after": 0.9
                },
                {
                  "stat": "totalShots",
                  "before": 0.7062,
                  "after": 0.6144
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.4983,
                  "after": 0.4335
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.1986,
                  "after": 0.1728
                },
                {
                  "stat": "goals",
                  "before": 0.0537,
                  "after": 0.0467
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.0466,
                  "after": 0.0405
                }
              ]
            },
            {
              "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.771,
                "expected_assists": 0.0632,
                "assist_rate": 0.0656,
                "assists": 0,
                "expected_goals": 0.0405,
                "goal_rate": 0.0467,
                "goals": 0,
                "shots_on_target": 0.1728,
                "total_shots": 0.6144,
                "rating": 6.9045,
                "minutes": 82.13,
                "total_pass": 44.5785,
                "accurate_pass": 39.0208,
                "duels_won": 3.7766,
                "total_long_balls": 5.053,
                "accurate_long_balls": 3.7165,
                "total_own_half_passes": 21.7538,
                "accurate_own_half_passes": 20.2044,
                "total_opp_half_passes": 22.8247,
                "accurate_opp_half_passes": 18.8163,
                "crosses_total": 0.9746,
                "crosses_accurate": 0.3874,
                "touches": 57.3632,
                "possession_lost": 8.3603,
                "dispossessed": 0.9047,
                "duels_lost": 4.1738,
                "aerial_won": 0.9,
                "aerial_lost": 0.4194,
                "interceptions": 1.1771,
                "tackles_won": 0.8882,
                "tackles": 2.0552,
                "clearances": 0.8548,
                "total_contest": 0.8642,
                "won_contest": 0.5516,
                "challenges_lost": 1.0475,
                "fouls": 1.5059,
                "fouls_drawn": 0.6918,
                "blocks": 0.1349,
                "big_chances_created": 0.2814,
                "big_chances_missed": 0.0,
                "xgot": 0.0107,
                "ball_carries": 14.573,
                "total_progression": 21.3916,
                "progressive_carries": 0.2174,
                "shots_off_target": 0.4335,
                "duel_xg_multiplier": 0.87,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.362,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "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": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "key_pass": 0.771,
                "expected_assists": 0.1009,
                "assist_rate": 0.0656,
                "assists": 0,
                "expected_goals": 0.0617,
                "goal_rate": 0.0467,
                "goals": 0,
                "shots_on_target": 0.1728,
                "total_shots": 0.6144,
                "rating": 6.9045,
                "minutes": 82.13,
                "total_pass": 44.5785,
                "accurate_pass": 39.0208,
                "duels_won": 3.7766,
                "total_long_balls": 5.053,
                "accurate_long_balls": 3.7165,
                "total_own_half_passes": 21.7538,
                "accurate_own_half_passes": 20.2044,
                "total_opp_half_passes": 22.8247,
                "accurate_opp_half_passes": 18.8163,
                "crosses_total": 0.9746,
                "crosses_accurate": 0.3874,
                "touches": 57.3632,
                "possession_lost": 8.3603,
                "dispossessed": 0.9047,
                "duels_lost": 4.1738,
                "aerial_won": 0.9,
                "aerial_lost": 0.4194,
                "interceptions": 1.1771,
                "tackles_won": 0.8882,
                "tackles": 2.0552,
                "clearances": 0.8548,
                "total_contest": 0.8642,
                "won_contest": 0.5516,
                "challenges_lost": 1.0475,
                "fouls": 1.5059,
                "fouls_drawn": 0.6918,
                "blocks": 0.1349,
                "big_chances_created": 0.2814,
                "big_chances_missed": 0.0,
                "xgot": 0.0163,
                "ball_carries": 14.573,
                "total_progression": 21.3916,
                "progressive_carries": 0.2174,
                "shots_off_target": 0.4335,
                "duel_xg_multiplier": 0.87,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.362,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "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.0685,
                "creation_factor": 1.0212
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0405,
                  "after": 0.0617
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0632,
                  "after": 0.1009
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 2 by projected rating, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0.771,
                "expected_assists": 0.1009,
                "assist_rate": 0.0656,
                "assists": 0,
                "expected_goals": 0.0617,
                "goal_rate": 0.0467,
                "goals": 0,
                "shots_on_target": 0.1728,
                "total_shots": 0.6144,
                "rating": 6.9045,
                "minutes": 82.13,
                "total_pass": 44.5785,
                "accurate_pass": 39.0208,
                "duels_won": 3.7766,
                "total_long_balls": 5.053,
                "accurate_long_balls": 3.7165,
                "total_own_half_passes": 21.7538,
                "accurate_own_half_passes": 20.2044,
                "total_opp_half_passes": 22.8247,
                "accurate_opp_half_passes": 18.8163,
                "crosses_total": 0.9746,
                "crosses_accurate": 0.3874,
                "touches": 57.3632,
                "possession_lost": 8.3603,
                "dispossessed": 0.9047,
                "duels_lost": 4.1738,
                "aerial_won": 0.9,
                "aerial_lost": 0.4194,
                "interceptions": 1.1771,
                "tackles_won": 0.8882,
                "tackles": 2.0552,
                "clearances": 0.8548,
                "total_contest": 0.8642,
                "won_contest": 0.5516,
                "challenges_lost": 1.0475,
                "fouls": 1.5059,
                "fouls_drawn": 0.6918,
                "blocks": 0.1349,
                "big_chances_created": 0.2814,
                "big_chances_missed": 0.0,
                "xgot": 0.0163,
                "ball_carries": 14.573,
                "total_progression": 21.3916,
                "progressive_carries": 0.2174,
                "shots_off_target": 0.4335,
                "duel_xg_multiplier": 0.87,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.362,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "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.0685,
                "creation_factor": 1.0212,
                "fifa_overall": 78.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": 2382,
                "fifa_rank": 1245.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": {
                "key_pass": 0.771,
                "expected_assists": 0.1009,
                "assist_rate": 0.0656,
                "assists": 0,
                "expected_goals": 0.0617,
                "goal_rate": 0.0467,
                "goals": 0,
                "shots_on_target": 0.1728,
                "total_shots": 0.6144,
                "rating": 6.9045,
                "minutes": 82.13,
                "total_pass": 44.5785,
                "accurate_pass": 39.0208,
                "duels_won": 3.7766,
                "total_long_balls": 5.053,
                "accurate_long_balls": 3.7165,
                "total_own_half_passes": 21.7538,
                "accurate_own_half_passes": 20.2044,
                "total_opp_half_passes": 22.8247,
                "accurate_opp_half_passes": 18.8163,
                "crosses_total": 0.9746,
                "crosses_accurate": 0.3874,
                "touches": 57.3632,
                "possession_lost": 8.3603,
                "dispossessed": 0.9047,
                "duels_lost": 4.1738,
                "aerial_won": 0.9,
                "aerial_lost": 0.4194,
                "interceptions": 1.1771,
                "tackles_won": 0.8882,
                "tackles": 2.0552,
                "clearances": 0.8548,
                "total_contest": 0.8642,
                "won_contest": 0.5516,
                "challenges_lost": 1.0475,
                "fouls": 1.5059,
                "fouls_drawn": 0.6918,
                "blocks": 0.1349,
                "big_chances_created": 0.2814,
                "big_chances_missed": 0.0,
                "xgot": 0.0163,
                "ball_carries": 14.573,
                "total_progression": 21.3916,
                "progressive_carries": 0.2174,
                "shots_off_target": 0.4335,
                "duel_xg_multiplier": 0.87,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.362,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0598,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0685,
                "creation_factor": 1.0212,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0598,
                "goal_rate": 0.0467,
                "scorer_weight": 0.0659,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0466,
                "finishing_factor": 1.0685,
                "appearance_weight": 1.0,
                "weight_rank": 9,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.771,
                "expected_assists": 0.1009,
                "assist_rate": 0.0656,
                "assists": 0,
                "expected_goals": 0.0617,
                "goal_rate": 0.0467,
                "goals": 0,
                "shots_on_target": 0.1728,
                "total_shots": 0.6144,
                "rating": 6.9045,
                "minutes": 82.13,
                "total_pass": 44.5785,
                "accurate_pass": 39.0208,
                "duels_won": 3.7766,
                "total_long_balls": 5.053,
                "accurate_long_balls": 3.7165,
                "total_own_half_passes": 21.7538,
                "accurate_own_half_passes": 20.2044,
                "total_opp_half_passes": 22.8247,
                "accurate_opp_half_passes": 18.8163,
                "crosses_total": 0.9746,
                "crosses_accurate": 0.3874,
                "touches": 57.3632,
                "possession_lost": 8.3603,
                "dispossessed": 0.9047,
                "duels_lost": 4.1738,
                "aerial_won": 0.9,
                "aerial_lost": 0.4194,
                "interceptions": 1.1771,
                "tackles_won": 0.8882,
                "tackles": 2.0552,
                "clearances": 0.8548,
                "total_contest": 0.8642,
                "won_contest": 0.5516,
                "challenges_lost": 1.0475,
                "fouls": 1.5059,
                "fouls_drawn": 0.6918,
                "blocks": 0.1349,
                "big_chances_created": 0.2814,
                "big_chances_missed": 0.0,
                "xgot": 0.0163,
                "ball_carries": 14.573,
                "total_progression": 21.3916,
                "progressive_carries": 0.2174,
                "shots_off_target": 0.4335,
                "duel_xg_multiplier": 0.87,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.362,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0598,
                "projected_assists": 0,
                "assist_probability": 0.096,
                "finishing_factor": 1.0685,
                "creation_factor": 1.0212,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.096,
                "assist_rate": 0.0656,
                "provider_weight": 0.103,
                "squad_weight_total": 0.8284,
                "weight_share": 0.1244,
                "creation_factor": 1.0212,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Ángel Pérez": {
          "player_id": 1513222,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 7,
          "height": 183,
          "market_value": 4600000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.2361,
            "assist_rate": 0.1463,
            "assists": 1,
            "expected_goals": 0.1771,
            "goal_rate": 0.1231,
            "goals": 0,
            "shots_on_target": 1,
            "total_shots": 2,
            "rating": 6.8611,
            "minutes": 81,
            "total_pass": 20,
            "accurate_pass": 15,
            "duels_won": 4,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 10,
            "crosses_total": 4,
            "crosses_accurate": 1,
            "touches": 40,
            "possession_lost": 11.9195,
            "dispossessed": 0.3946,
            "duels_lost": 4,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 1,
            "total_contest": 3,
            "won_contest": 1,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 0,
            "xgot": 0.1552,
            "ball_carries": 11,
            "total_progression": 64,
            "progressive_carries": 3,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.8662,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.6,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.359,
            "pressing_faced": "LOW",
            "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Lucien Agoumé",
            "opponent_faced": "Lucien Agoumé",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.1623,
            "projected_assists": 1,
            "assist_probability": 0.2103,
            "finishing_factor": 1.0415,
            "creation_factor": 0.9914,
            "fifa_overall": 72.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 74,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0352,
                "expected_assists": 0.0885,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 9,
                "accurate_pass": 5,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 5,
                "ball_recovery": 5,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1083,
                "expected_assists": 0.6845,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 23,
                "accurate_pass": 20,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 5,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 61,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1258,
                "expected_assists": 0.0104,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 17,
                "accurate_pass": 14,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 15,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1035,
                "total_shots": 0,
                "total_pass": 2,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 85,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0565,
                "expected_assists": 0.1624,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 15,
                "accurate_pass": 13,
                "key_pass": 2,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 86,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4533,
                "expected_assists": 0.196,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 32,
                "accurate_pass": 20,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 8.5,
                "assist_rate": 2.0,
                "assists": 2,
                "expected_goals": 0.1634,
                "expected_assists": 0.4685,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 30,
                "accurate_pass": 24,
                "key_pass": 3,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 71,
                "rating": 7.5,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1179,
                "expected_assists": 0.3338,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 7,
                "accurate_pass": 5,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 80,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0598,
                "expected_assists": 0.3395,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 12,
                "key_pass": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421047.0,
              "match_date": "2026-08-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 65,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0715,
                "expected_assists": 0.0587,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 11,
                "accurate_pass": 9,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4209,
            "combined_rank_score": 2239.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 236.0,
            "sofascore_rating": 7.1333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 4243.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8611,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ángel Pérez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Toti",
                  "ranking": 4204
                },
                {
                  "player_name": "Tristan Crama",
                  "ranking": 4205
                },
                {
                  "player_name": "Léo Scienza",
                  "ranking": 4206
                },
                {
                  "player_name": "Iván Villar",
                  "ranking": 4207
                },
                {
                  "player_name": "Arthur Avom Ebong",
                  "ranking": 4208
                }
              ],
              "lower": [
                {
                  "player_name": "Salomón Rondón",
                  "ranking": 4210
                },
                {
                  "player_name": "Adrián Niño",
                  "ranking": 4211
                },
                {
                  "player_name": "Anthony Lopes",
                  "ranking": 4212
                },
                {
                  "player_name": "Thorgan Hazard",
                  "ranking": 4213
                },
                {
                  "player_name": "Kenny Lala",
                  "ranking": 4214
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.774,
          "history_matches": 26,
          "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": 26,
            "data_confidence": 0.774,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9977,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 213.0,
              "goals_per90": 0.0,
              "assists_per90": 0.4166666666666667,
              "shots_per90": 1.69,
              "shots_on_target_pct": 25.0,
              "prior_reliability": 0.16
            },
            "rationale": "XGBoost regressor (M_service) evaluated 26 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Alavés, rel: 0.16, gls/90: 0.0, ast/90: 0.4166666666666667)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 1.1547,
                "expected_assists": 0.1484,
                "assists": 0.1428,
                "assist_rate": 0.1428,
                "expected_goals": 0.1345,
                "goals": 0.1449,
                "goal_rate": 0.1449,
                "shots_on_target": 0.5871,
                "total_shots": 1.6217,
                "rating": 6.8611,
                "minutes": 81.06,
                "total_pass": 20.116,
                "accurate_pass": 15.3033,
                "duels_won": 3.9304,
                "total_long_balls": 2.1533,
                "accurate_long_balls": 1.0354,
                "total_own_half_passes": 6.7758,
                "accurate_own_half_passes": 5.4215,
                "total_opp_half_passes": 13.3402,
                "accurate_opp_half_passes": 9.8818,
                "crosses_total": 3.7226,
                "crosses_accurate": 1.1966,
                "touches": 39.7587,
                "possession_lost": 11.947,
                "dispossessed": 0.3955,
                "duels_lost": 3.8964,
                "aerial_won": 0.1883,
                "aerial_lost": 0.0888,
                "interceptions": 0.7571,
                "tackles_won": 0.7054,
                "tackles": 1.067,
                "clearances": 0.8803,
                "total_contest": 3.3324,
                "won_contest": 1.438,
                "challenges_lost": 0.4352,
                "fouls": 1.0885,
                "fouls_drawn": 1.2371,
                "blocks": 0.228,
                "big_chances_created": 0.5899,
                "big_chances_missed": 0.0989,
                "xgot": 0.1178,
                "ball_carries": 11.4227,
                "total_progression": 64.3344,
                "progressive_carries": 2.6511,
                "shots_off_target": 1.0346
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 74.0,
                    "is_starting": true,
                    "weight": 0.1522,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1294,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 61.0,
                    "is_starting": true,
                    "weight": 0.11,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 15.0,
                    "is_starting": false,
                    "weight": 0.0935,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.0795,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 86.0,
                    "is_starting": true,
                    "weight": 0.0675,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0574,
                    "rating": 8.5
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.0488,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0415,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Getafe",
                    "minutes": 65.0,
                    "is_starting": true,
                    "weight": 0.0353,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 1.4503,
                  "creative_index": 0.7117,
                  "expectedGoals": 0.0989,
                  "expectedAssists": 0.2234,
                  "keyPass": 1.4442
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.154657006263733,
                    "model_output": 1.1547,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1049
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.1143
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.1107
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.1025
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0778
                        }
                      ],
                      "others": -0.0901,
                      "total": 1.1547,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.111416
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.108684
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.095097
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.080641
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.060597
                        }
                      ],
                      "others_margin": -0.075139
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.14835892617702484,
                    "model_output": 0.1484,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0127
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0145
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0126
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0054
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0056
                        }
                      ],
                      "others": 0.0129,
                      "total": 0.1484,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": 0.140142
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.138528
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.106372
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.042163
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.042075
                        }
                      ],
                      "others_margin": 0.091523
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.14277221262454987,
                    "model_output": 0.1428,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "creative_index",
                          "contribution": 0.0109
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0066
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0069
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0065
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": 0.0068
                        }
                      ],
                      "others": 0.02,
                      "total": 0.1428,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "creative_index",
                          "margin": 0.120305
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.066579
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.065374
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.057765
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": 0.057302
                        }
                      ],
                      "others_margin": 0.149644
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.13454708456993103,
                    "model_output": 0.1345,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0109
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0098
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0101
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0052
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0044
                        }
                      ],
                      "others": 0.0111,
                      "total": 0.1345,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.112656
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.091223
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.08564
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.041658
                        },
                        {
                          "name": "goals",
                          "margin": -0.034803
                        }
                      ],
                      "others_margin": 0.085747
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.1448647379875183,
                    "model_output": 0.1449,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0275
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0118
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0078
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": 0.007
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0061
                        }
                      ],
                      "others": 0.0023,
                      "total": 0.1449,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.255627
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.091958
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.056852
                        },
                        {
                          "name": "creative_efficiency",
                          "margin": 0.048254
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.041918
                        }
                      ],
                      "others_margin": 0.015657
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5871018171310425,
                    "model_output": 0.5871,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0795
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0538
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0259
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0164
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0151
                        }
                      ],
                      "others": 0.0785,
                      "total": 0.5871,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.223184
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.127048
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.055741
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.033889
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.030165
                        }
                      ],
                      "others_margin": 0.143503
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.6216539144515991,
                    "model_output": 1.6217,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.3259
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1669
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0711
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0677
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0507
                        }
                      ],
                      "others": -0.0455,
                      "total": 1.6217,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.325881
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.166876
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.071138
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.067705
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.050665
                        }
                      ],
                      "others_margin": -0.045546
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.861083030700684,
                    "model_output": 6.8611,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0439
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0295
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.018
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0153
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": 0.0119
                        }
                      ],
                      "others": 0.0089,
                      "total": 6.8611,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.043916
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.029543
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.018043
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.015303
                        },
                        {
                          "name": "creative_efficiency",
                          "margin": 0.011918
                        }
                      ],
                      "others_margin": 0.008872
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 26,
                  "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 0.9977, quality 0.457)",
              "stats": {
                "key_pass": 1.152,
                "expected_assists": 0.148,
                "assists": 0.1424,
                "assist_rate": 0.1424,
                "expected_goals": 0.1342,
                "goals": 0.1445,
                "goal_rate": 0.1445,
                "shots_on_target": 0.5858,
                "total_shots": 1.618,
                "rating": 6.8611,
                "minutes": 81.06,
                "total_pass": 20.0697,
                "accurate_pass": 15.2681,
                "duels_won": 3.9214,
                "total_long_balls": 2.1483,
                "accurate_long_balls": 1.033,
                "total_own_half_passes": 6.7602,
                "accurate_own_half_passes": 5.409,
                "total_opp_half_passes": 13.3095,
                "accurate_opp_half_passes": 9.8591,
                "crosses_total": 3.714,
                "crosses_accurate": 1.1938,
                "touches": 39.6673,
                "possession_lost": 11.9195,
                "dispossessed": 0.3946,
                "duels_lost": 3.8874,
                "aerial_won": 0.1879,
                "aerial_lost": 0.0886,
                "interceptions": 0.7554,
                "tackles_won": 0.7038,
                "tackles": 1.0645,
                "clearances": 0.8783,
                "total_contest": 3.3247,
                "won_contest": 1.4347,
                "challenges_lost": 0.4342,
                "fouls": 1.086,
                "fouls_drawn": 1.2343,
                "blocks": 0.2275,
                "big_chances_created": 0.5885,
                "big_chances_missed": 0.0987,
                "xgot": 0.1175,
                "ball_carries": 11.3964,
                "total_progression": 64.1864,
                "progressive_carries": 2.645,
                "shots_off_target": 1.0322
              },
              "params": {
                "market_value_eur": 4600000,
                "quality_factor": 0.4572,
                "boost_factor": 0.9977,
                "reference_quality": 0.505,
                "history_matches": 26,
                "history_shrink": 0.1613,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0168)",
              "stats": {
                "key_pass": 1.152,
                "expected_assists": 0.148,
                "assists": 0.1463,
                "assist_rate": 0.1463,
                "expected_goals": 0.1342,
                "goals": 0.1421,
                "goal_rate": 0.1421,
                "shots_on_target": 0.5823,
                "total_shots": 1.6164,
                "rating": 6.8611,
                "minutes": 81.06,
                "total_pass": 20.0697,
                "accurate_pass": 15.2681,
                "duels_won": 3.9214,
                "total_long_balls": 2.1483,
                "accurate_long_balls": 1.033,
                "total_own_half_passes": 6.7602,
                "accurate_own_half_passes": 5.409,
                "total_opp_half_passes": 13.3095,
                "accurate_opp_half_passes": 9.8591,
                "crosses_total": 3.7021,
                "crosses_accurate": 1.1938,
                "touches": 39.6673,
                "possession_lost": 11.9195,
                "dispossessed": 0.3946,
                "duels_lost": 3.8874,
                "aerial_won": 0.1879,
                "aerial_lost": 0.0886,
                "interceptions": 0.7616,
                "tackles_won": 0.6983,
                "tackles": 1.0645,
                "clearances": 0.8783,
                "total_contest": 3.3247,
                "won_contest": 1.4347,
                "challenges_lost": 0.4342,
                "fouls": 1.0804,
                "fouls_drawn": 1.2199,
                "blocks": 0.2275,
                "big_chances_created": 0.5885,
                "big_chances_missed": 0.0987,
                "xgot": 0.1175,
                "ball_carries": 11.3964,
                "total_progression": 64.1864,
                "progressive_carries": 2.645,
                "shots_off_target": 1.0322
              },
              "params": {
                "blend_weight": 0.0168,
                "history_matches": 26,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9007,
                "prior_reliability": 0.16,
                "competition": "La Liga",
                "squad": "Alavés"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 1.2343,
                  "after": 1.2199
                },
                {
                  "stat": "totalCross",
                  "before": 3.714,
                  "after": 3.7021
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.7554,
                  "after": 0.7616
                },
                {
                  "stat": "fouls",
                  "before": 1.086,
                  "after": 1.0804
                },
                {
                  "stat": "wonTackle",
                  "before": 0.7038,
                  "after": 0.6983
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1.152,
                "expected_assists": 0.148,
                "assists": 0.1463,
                "assist_rate": 0.1463,
                "expected_goals": 0.1342,
                "goals": 0.1421,
                "goal_rate": 0.1421,
                "shots_on_target": 0.5823,
                "total_shots": 1.6164,
                "rating": 6.8611,
                "minutes": 81.06,
                "total_pass": 20.0697,
                "accurate_pass": 15.2681,
                "duels_won": 3.9214,
                "total_long_balls": 2.1483,
                "accurate_long_balls": 1.033,
                "total_own_half_passes": 6.7602,
                "accurate_own_half_passes": 5.409,
                "total_opp_half_passes": 13.3095,
                "accurate_opp_half_passes": 9.8591,
                "crosses_total": 3.7021,
                "crosses_accurate": 1.1938,
                "touches": 39.6673,
                "possession_lost": 11.9195,
                "dispossessed": 0.3946,
                "duels_lost": 3.8874,
                "aerial_won": 0.1879,
                "aerial_lost": 0.0886,
                "interceptions": 0.7616,
                "tackles_won": 0.6983,
                "tackles": 1.0645,
                "clearances": 0.8783,
                "total_contest": 3.3247,
                "won_contest": 1.4347,
                "challenges_lost": 0.4342,
                "fouls": 1.0804,
                "fouls_drawn": 1.2199,
                "blocks": 0.2275,
                "big_chances_created": 0.5885,
                "big_chances_missed": 0.0987,
                "xgot": 0.1175,
                "ball_carries": 11.3964,
                "total_progression": 64.1864,
                "progressive_carries": 2.645,
                "shots_off_target": 1.0322
              },
              "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.152,
                "expected_assists": 0.148,
                "assists": 0.1463,
                "assist_rate": 0.1463,
                "expected_goals": 0.1162,
                "goals": 0.1231,
                "goal_rate": 0.1231,
                "shots_on_target": 0.5044,
                "total_shots": 1.4001,
                "rating": 6.8611,
                "minutes": 81.06,
                "total_pass": 20.0697,
                "accurate_pass": 15.2681,
                "duels_won": 3.9214,
                "total_long_balls": 2.1483,
                "accurate_long_balls": 1.033,
                "total_own_half_passes": 6.7602,
                "accurate_own_half_passes": 5.409,
                "total_opp_half_passes": 13.3095,
                "accurate_opp_half_passes": 9.8591,
                "crosses_total": 3.7021,
                "crosses_accurate": 1.1938,
                "touches": 39.6673,
                "possession_lost": 11.9195,
                "dispossessed": 0.3946,
                "duels_lost": 3.8874,
                "aerial_won": 1.1,
                "aerial_lost": 0.0886,
                "interceptions": 0.7616,
                "tackles_won": 0.6983,
                "tackles": 1.0645,
                "clearances": 0.8783,
                "total_contest": 3.3247,
                "won_contest": 1.4347,
                "challenges_lost": 0.4342,
                "fouls": 1.0804,
                "fouls_drawn": 1.2199,
                "blocks": 0.2275,
                "big_chances_created": 0.5885,
                "big_chances_missed": 0.0855,
                "xgot": 0.1018,
                "ball_carries": 11.3964,
                "total_progression": 64.1864,
                "progressive_carries": 2.645,
                "shots_off_target": 0.8941,
                "duel_xg_multiplier": 0.8662,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.359,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Lucien Agoumé",
                  "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                  "duel_win_rate": 0.359,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.8662,
                  "skill_edge": -0.083,
                  "height_edge": -0.008,
                  "attacker_skill": 0.4635,
                  "defender_skill": 0.648,
                  "attacker_role": "CM",
                  "attacker_mv_price_index": 0.9,
                  "defender_adjusted_parts": [
                    {
                      "player": "Lucien Agoumé",
                      "market_value": 18500000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.648
                    }
                  ],
                  "xg_override": 0.1162
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.1879,
                  "after": 1.1
                },
                {
                  "stat": "totalShots",
                  "before": 1.6164,
                  "after": 1.4001
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.0322,
                  "after": 0.8941
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.5823,
                  "after": 0.5044
                },
                {
                  "stat": "goals",
                  "before": 0.1421,
                  "after": 0.1231
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1342,
                  "after": 0.1162
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.1175,
                  "after": 0.1018
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.0987,
                  "after": 0.0855
                }
              ]
            },
            {
              "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.152,
                "expected_assists": 0.148,
                "assist_rate": 0.1463,
                "assists": 0,
                "expected_goals": 0.1162,
                "goal_rate": 0.1231,
                "goals": 0,
                "shots_on_target": 0.5044,
                "total_shots": 1.4001,
                "rating": 6.8611,
                "minutes": 81.06,
                "total_pass": 20.0697,
                "accurate_pass": 15.2681,
                "duels_won": 3.9214,
                "total_long_balls": 2.1483,
                "accurate_long_balls": 1.033,
                "total_own_half_passes": 6.7602,
                "accurate_own_half_passes": 5.409,
                "total_opp_half_passes": 13.3095,
                "accurate_opp_half_passes": 9.8591,
                "crosses_total": 3.7021,
                "crosses_accurate": 1.1938,
                "touches": 39.6673,
                "possession_lost": 11.9195,
                "dispossessed": 0.3946,
                "duels_lost": 3.8874,
                "aerial_won": 1.1,
                "aerial_lost": 0.0886,
                "interceptions": 0.7616,
                "tackles_won": 0.6983,
                "tackles": 1.0645,
                "clearances": 0.8783,
                "total_contest": 3.3247,
                "won_contest": 1.4347,
                "challenges_lost": 0.4342,
                "fouls": 1.0804,
                "fouls_drawn": 1.2199,
                "blocks": 0.2275,
                "big_chances_created": 0.5885,
                "big_chances_missed": 0.0855,
                "xgot": 0.1018,
                "ball_carries": 11.3964,
                "total_progression": 64.1864,
                "progressive_carries": 2.645,
                "shots_off_target": 0.8941,
                "duel_xg_multiplier": 0.8662,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.359,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "key_pass": 1.152,
                "expected_assists": 0.2361,
                "assist_rate": 0.1463,
                "assists": 0,
                "expected_goals": 0.1771,
                "goal_rate": 0.1231,
                "goals": 0,
                "shots_on_target": 0.5044,
                "total_shots": 1.4001,
                "rating": 6.8611,
                "minutes": 81.06,
                "total_pass": 20.0697,
                "accurate_pass": 15.2681,
                "duels_won": 3.9214,
                "total_long_balls": 2.1483,
                "accurate_long_balls": 1.033,
                "total_own_half_passes": 6.7602,
                "accurate_own_half_passes": 5.409,
                "total_opp_half_passes": 13.3095,
                "accurate_opp_half_passes": 9.8591,
                "crosses_total": 3.7021,
                "crosses_accurate": 1.1938,
                "touches": 39.6673,
                "possession_lost": 11.9195,
                "dispossessed": 0.3946,
                "duels_lost": 3.8874,
                "aerial_won": 1.1,
                "aerial_lost": 0.0886,
                "interceptions": 0.7616,
                "tackles_won": 0.6983,
                "tackles": 1.0645,
                "clearances": 0.8783,
                "total_contest": 3.3247,
                "won_contest": 1.4347,
                "challenges_lost": 0.4342,
                "fouls": 1.0804,
                "fouls_drawn": 1.2199,
                "blocks": 0.2275,
                "big_chances_created": 0.5885,
                "big_chances_missed": 0.0855,
                "xgot": 0.1552,
                "ball_carries": 11.3964,
                "total_progression": 64.1864,
                "progressive_carries": 2.645,
                "shots_off_target": 0.8941,
                "duel_xg_multiplier": 0.8662,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.359,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0415,
                "creation_factor": 0.9914
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1162,
                  "after": 0.1771
                },
                {
                  "stat": "expected_assists",
                  "before": 0.148,
                  "after": 0.2361
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 3 by projected rating, fifa_overall 72.0)",
              "stats": {
                "key_pass": 1.152,
                "expected_assists": 0.2361,
                "assist_rate": 0.1463,
                "assists": 0,
                "expected_goals": 0.1771,
                "goal_rate": 0.1231,
                "goals": 0,
                "shots_on_target": 0.5044,
                "total_shots": 1.4001,
                "rating": 6.8611,
                "minutes": 81.06,
                "total_pass": 20.0697,
                "accurate_pass": 15.2681,
                "duels_won": 3.9214,
                "total_long_balls": 2.1483,
                "accurate_long_balls": 1.033,
                "total_own_half_passes": 6.7602,
                "accurate_own_half_passes": 5.409,
                "total_opp_half_passes": 13.3095,
                "accurate_opp_half_passes": 9.8591,
                "crosses_total": 3.7021,
                "crosses_accurate": 1.1938,
                "touches": 39.6673,
                "possession_lost": 11.9195,
                "dispossessed": 0.3946,
                "duels_lost": 3.8874,
                "aerial_won": 1.1,
                "aerial_lost": 0.0886,
                "interceptions": 0.7616,
                "tackles_won": 0.6983,
                "tackles": 1.0645,
                "clearances": 0.8783,
                "total_contest": 3.3247,
                "won_contest": 1.4347,
                "challenges_lost": 0.4342,
                "fouls": 1.0804,
                "fouls_drawn": 1.2199,
                "blocks": 0.2275,
                "big_chances_created": 0.5885,
                "big_chances_missed": 0.0855,
                "xgot": 0.1552,
                "ball_carries": 11.3964,
                "total_progression": 64.1864,
                "progressive_carries": 2.645,
                "shots_off_target": 0.8941,
                "duel_xg_multiplier": 0.8662,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.359,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0415,
                "creation_factor": 0.9914,
                "fifa_overall": 72.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": 4209,
                "fifa_rank": 4243.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 72.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.152,
                "expected_assists": 0.2361,
                "assist_rate": 0.1463,
                "assists": 0,
                "expected_goals": 0.1771,
                "goal_rate": 0.1231,
                "goals": 0,
                "shots_on_target": 0.5044,
                "total_shots": 1.4001,
                "rating": 6.8611,
                "minutes": 81.06,
                "total_pass": 20.0697,
                "accurate_pass": 15.2681,
                "duels_won": 3.9214,
                "total_long_balls": 2.1483,
                "accurate_long_balls": 1.033,
                "total_own_half_passes": 6.7602,
                "accurate_own_half_passes": 5.409,
                "total_opp_half_passes": 13.3095,
                "accurate_opp_half_passes": 9.8591,
                "crosses_total": 3.7021,
                "crosses_accurate": 1.1938,
                "touches": 39.6673,
                "possession_lost": 11.9195,
                "dispossessed": 0.3946,
                "duels_lost": 3.8874,
                "aerial_won": 1.1,
                "aerial_lost": 0.0886,
                "interceptions": 0.7616,
                "tackles_won": 0.6983,
                "tackles": 1.0645,
                "clearances": 0.8783,
                "total_contest": 3.3247,
                "won_contest": 1.4347,
                "challenges_lost": 0.4342,
                "fouls": 1.0804,
                "fouls_drawn": 1.2199,
                "blocks": 0.2275,
                "big_chances_created": 0.5885,
                "big_chances_missed": 0.0855,
                "xgot": 0.1552,
                "ball_carries": 11.3964,
                "total_progression": 64.1864,
                "progressive_carries": 2.645,
                "shots_off_target": 0.8941,
                "duel_xg_multiplier": 0.8662,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.359,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1623,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0415,
                "creation_factor": 0.9914,
                "fifa_overall": 72.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1623,
                "goal_rate": 0.1231,
                "scorer_weight": 0.1844,
                "squad_weight_total": 1.4144,
                "weight_share": 0.1304,
                "finishing_factor": 1.0415,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.152,
                "expected_assists": 0.2361,
                "assist_rate": 0.1463,
                "assists": 1,
                "expected_goals": 0.1771,
                "goal_rate": 0.1231,
                "goals": 0,
                "shots_on_target": 0.5044,
                "total_shots": 1.4001,
                "rating": 6.8611,
                "minutes": 81.06,
                "total_pass": 20.0697,
                "accurate_pass": 15.2681,
                "duels_won": 3.9214,
                "total_long_balls": 2.1483,
                "accurate_long_balls": 1.033,
                "total_own_half_passes": 6.7602,
                "accurate_own_half_passes": 5.409,
                "total_opp_half_passes": 13.3095,
                "accurate_opp_half_passes": 9.8591,
                "crosses_total": 3.7021,
                "crosses_accurate": 1.1938,
                "touches": 39.6673,
                "possession_lost": 11.9195,
                "dispossessed": 0.3946,
                "duels_lost": 3.8874,
                "aerial_won": 1.1,
                "aerial_lost": 0.0886,
                "interceptions": 0.7616,
                "tackles_won": 0.6983,
                "tackles": 1.0645,
                "clearances": 0.8783,
                "total_contest": 3.3247,
                "won_contest": 1.4347,
                "challenges_lost": 0.4342,
                "fouls": 1.0804,
                "fouls_drawn": 1.2199,
                "blocks": 0.2275,
                "big_chances_created": 0.5885,
                "big_chances_missed": 0.0855,
                "xgot": 0.1552,
                "ball_carries": 11.3964,
                "total_progression": 64.1864,
                "progressive_carries": 2.645,
                "shots_off_target": 0.8941,
                "duel_xg_multiplier": 0.8662,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.359,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1623,
                "projected_assists": 1,
                "assist_probability": 0.2103,
                "finishing_factor": 1.0415,
                "creation_factor": 0.9914,
                "fifa_overall": 72.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 1,
                "assist_probability": 0.2103,
                "assist_rate": 0.1463,
                "provider_weight": 0.2341,
                "squad_weight_total": 0.8284,
                "weight_share": 0.2826,
                "creation_factor": 0.9914,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Pablo Ibáñez": {
          "player_id": 1084381,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 19,
          "height": 179,
          "market_value": 4099999,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1129,
            "assist_rate": 0.0704,
            "assists": 0,
            "expected_goals": 0.0951,
            "goal_rate": 0.0541,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.8387,
            "minutes": 83,
            "total_pass": 31,
            "accurate_pass": 26,
            "duels_won": 7,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 12,
            "accurate_own_half_passes": 11,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 15,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 50,
            "possession_lost": 10.4604,
            "dispossessed": 1.4386,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 3,
            "clearances": 1,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.105,
            "ball_carries": 17,
            "total_progression": 72,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.8403,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.5,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.311,
            "pressing_faced": "LOW",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Lucien Agoumé",
            "opponent_faced": "Lucien Agoumé",
            "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0907,
            "projected_assists": 0,
            "assist_probability": 0.1068,
            "finishing_factor": 0.9262,
            "creation_factor": 0.9975,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 35,
                "rating": 6.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0335,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 13,
                "accurate_pass": 8,
                "key_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 3,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0663,
                "expected_assists": 0.0203,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 2,
                "total_pass": 40,
                "accurate_pass": 38,
                "tackles": 6,
                "tackles_won": 4,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 10,
                "ball_recovery": 6,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0644,
                "expected_assists": 0.177,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 40,
                "accurate_pass": 35,
                "key_pass": 2,
                "interceptions": 4,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0104,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 19,
                "tackles": 6,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 9,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 85,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0079,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3934,
                "expected_assists": 0.0358,
                "total_shots": 3,
                "shots_off_target": 3,
                "total_pass": 34,
                "accurate_pass": 24,
                "key_pass": 1,
                "tackles": 5,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 8,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 45,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 7,
                "clearances": 1,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2584,
                "expected_assists": 0.0132,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 40,
                "accurate_pass": 35,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0312,
                "expected_assists": 0.0078,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 21,
                "accurate_pass": 17,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.066,
                "expected_assists": 0.0519,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 40,
                "accurate_pass": 32,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 9,
                "ball_recovery": 9
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3981,
            "combined_rank_score": 1953.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 391.0,
            "sofascore_rating": 6.95,
            "sofascore_appearances": 2.0,
            "fifa_rank": 3516.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8387,
            "source_file": "data/player_rankings.csv",
            "player_name": "Pablo Ibáñez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Patrick Sequeira",
                  "ranking": 3976
                },
                {
                  "player_name": "Javi Rueda",
                  "ranking": 3977
                },
                {
                  "player_name": "Freddie Potts",
                  "ranking": 3978
                },
                {
                  "player_name": "Chupe",
                  "ranking": 3979
                },
                {
                  "player_name": "Bigas",
                  "ranking": 3980
                }
              ],
              "lower": [
                {
                  "player_name": "Jonny",
                  "ranking": 3982
                },
                {
                  "player_name": "Mohamed Belloumi",
                  "ranking": 3983
                },
                {
                  "player_name": "Jack Hendry",
                  "ranking": 3984
                },
                {
                  "player_name": "Areso",
                  "ranking": 3985
                },
                {
                  "player_name": "Gorosabel",
                  "ranking": 3986
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 48,
          "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": 48,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9985,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "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": 1.67,
              "shots_on_target_pct": 20.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (M_service) evaluated 48 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Alavés, 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.7498,
                "expected_assists": 0.0708,
                "assists": 0.0714,
                "assist_rate": 0.0714,
                "expected_goals": 0.0745,
                "goals": 0.0653,
                "goal_rate": 0.0653,
                "shots_on_target": 0.2477,
                "total_shots": 0.9794,
                "rating": 6.8387,
                "minutes": 82.73,
                "total_pass": 30.7984,
                "accurate_pass": 26.2609,
                "duels_won": 6.6895,
                "total_long_balls": 2.1928,
                "accurate_long_balls": 0.9004,
                "total_own_half_passes": 12.0997,
                "accurate_own_half_passes": 10.9252,
                "total_opp_half_passes": 18.6988,
                "accurate_opp_half_passes": 15.3358,
                "crosses_total": 1.8636,
                "crosses_accurate": 0.4656,
                "touches": 50.5168,
                "possession_lost": 10.4761,
                "dispossessed": 1.4408,
                "duels_lost": 5.4384,
                "aerial_won": 0.94,
                "aerial_lost": 0.8556,
                "interceptions": 1.4299,
                "tackles_won": 1.2628,
                "tackles": 2.5384,
                "clearances": 1.1617,
                "total_contest": 1.7713,
                "won_contest": 1.1295,
                "challenges_lost": 1.0056,
                "fouls": 1.4953,
                "fouls_drawn": 2.2094,
                "blocks": 0.3336,
                "big_chances_created": 0.0046,
                "big_chances_missed": 0.0968,
                "xgot": 0.0821,
                "ball_carries": 16.8122,
                "total_progression": 71.7574,
                "progressive_carries": 1.7905,
                "shots_off_target": 0.7317
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 0.1501,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1084,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.0783,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 7.6
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 1.0598,
                  "creative_index": 0.2527,
                  "expectedGoals": 0.071,
                  "expectedAssists": 0.0373,
                  "keyPass": 0.5758
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.7497822642326355,
                    "model_output": 0.7498,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1134
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0999
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0653
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0594
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0429
                        }
                      ],
                      "others": 0.0137,
                      "total": 0.7498,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.119877
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.104907
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.075044
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.073434
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.056709
                        }
                      ],
                      "others_margin": 0.018543
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.07078450173139572,
                    "model_output": 0.0708,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.017
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0096
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.01
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0042
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0035
                        }
                      ],
                      "others": -0.0088,
                      "total": 0.0708,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": -0.224265
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.133132
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.122217
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.049207
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.0425
                        }
                      ],
                      "others_margin": -0.118568
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.0713985338807106,
                    "model_output": 0.0714,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0075
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0074
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0058
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0042
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0042
                        }
                      ],
                      "others": -0.0196,
                      "total": 0.0714,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.084097
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.083171
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.065402
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.047533
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.046857
                        }
                      ],
                      "others_margin": -0.241657
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.07445091754198074,
                    "model_output": 0.0745,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0105
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0088
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0052
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0041
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0031
                        }
                      ],
                      "others": -0.0032,
                      "total": 0.0745,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.121637
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.10255
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.05954
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "margin": -0.049246
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.039106
                        }
                      ],
                      "others_margin": -0.042673
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.06527258455753326,
                    "model_output": 0.0653,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0173
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0097
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0077
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0041
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0038
                        }
                      ],
                      "others": -0.0061,
                      "total": 0.0653,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.201403
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.117788
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.092446
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.05356
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.051579
                        }
                      ],
                      "others_margin": -0.089598
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.24772430956363678,
                    "model_output": 0.2477,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0541
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0351
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0266
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0137
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.012
                        }
                      ],
                      "others": -0.0263,
                      "total": 0.2477,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.186599
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.125098
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.093101
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.049072
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "margin": -0.042717
                        }
                      ],
                      "others_margin": -0.101106
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.9794396758079529,
                    "model_output": 0.9794,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1365
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0653
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0528
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0382
                        },
                        {
                          "name": "goalAssist",
                          "contribution": -0.0239
                        }
                      ],
                      "others": -0.0674,
                      "total": 0.9794,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.136503
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.065299
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.052791
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.038167
                        },
                        {
                          "name": "goalAssist",
                          "margin": -0.02388
                        }
                      ],
                      "others_margin": -0.067444
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.838716506958008,
                    "model_output": 6.8387,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0432
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0157
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0152
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0085
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0059
                        }
                      ],
                      "others": -0.0166,
                      "total": 6.8387,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.043243
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.015744
                        },
                        {
                          "name": "rating",
                          "margin": -0.015242
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": -0.008465
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.005909
                        }
                      ],
                      "others_margin": -0.016572
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 48,
                  "role_matches": 38,
                  "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.9985, quality 0.451)",
              "stats": {
                "key_pass": 0.7487,
                "expected_assists": 0.0707,
                "assists": 0.0713,
                "assist_rate": 0.0713,
                "expected_goals": 0.0743,
                "goals": 0.0652,
                "goal_rate": 0.0652,
                "shots_on_target": 0.2474,
                "total_shots": 0.978,
                "rating": 6.8387,
                "minutes": 82.73,
                "total_pass": 30.7522,
                "accurate_pass": 26.2215,
                "duels_won": 6.6795,
                "total_long_balls": 2.1895,
                "accurate_long_balls": 0.899,
                "total_own_half_passes": 12.0816,
                "accurate_own_half_passes": 10.9088,
                "total_opp_half_passes": 18.6708,
                "accurate_opp_half_passes": 15.3128,
                "crosses_total": 1.8608,
                "crosses_accurate": 0.4649,
                "touches": 50.441,
                "possession_lost": 10.4604,
                "dispossessed": 1.4386,
                "duels_lost": 5.4302,
                "aerial_won": 0.9386,
                "aerial_lost": 0.8543,
                "interceptions": 1.4278,
                "tackles_won": 1.2609,
                "tackles": 2.5346,
                "clearances": 1.16,
                "total_contest": 1.7686,
                "won_contest": 1.1278,
                "challenges_lost": 1.0041,
                "fouls": 1.4931,
                "fouls_drawn": 2.2061,
                "blocks": 0.3331,
                "big_chances_created": 0.0046,
                "big_chances_missed": 0.0967,
                "xgot": 0.082,
                "ball_carries": 16.787,
                "total_progression": 71.6498,
                "progressive_carries": 1.7878,
                "shots_off_target": 0.7306
              },
              "params": {
                "market_value_eur": 4099999,
                "quality_factor": 0.4511,
                "boost_factor": 0.9985,
                "reference_quality": 0.505,
                "history_matches": 48,
                "history_shrink": 0.0943,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0123)",
              "stats": {
                "key_pass": 0.7487,
                "expected_assists": 0.0707,
                "assists": 0.0704,
                "assist_rate": 0.0704,
                "expected_goals": 0.0743,
                "goals": 0.0644,
                "goal_rate": 0.0644,
                "shots_on_target": 0.2481,
                "total_shots": 0.9848,
                "rating": 6.8387,
                "minutes": 82.73,
                "total_pass": 30.7522,
                "accurate_pass": 26.2215,
                "duels_won": 6.6795,
                "total_long_balls": 2.1895,
                "accurate_long_balls": 0.899,
                "total_own_half_passes": 12.0816,
                "accurate_own_half_passes": 10.9088,
                "total_opp_half_passes": 18.6708,
                "accurate_opp_half_passes": 15.3128,
                "crosses_total": 1.8455,
                "crosses_accurate": 0.4649,
                "touches": 50.441,
                "possession_lost": 10.4604,
                "dispossessed": 1.4386,
                "duels_lost": 5.4302,
                "aerial_won": 0.9386,
                "aerial_lost": 0.8543,
                "interceptions": 1.4291,
                "tackles_won": 1.253,
                "tackles": 2.5346,
                "clearances": 1.16,
                "total_contest": 1.7686,
                "won_contest": 1.1278,
                "challenges_lost": 1.0041,
                "fouls": 1.4898,
                "fouls_drawn": 2.1978,
                "blocks": 0.3331,
                "big_chances_created": 0.0046,
                "big_chances_missed": 0.0967,
                "xgot": 0.082,
                "ball_carries": 16.787,
                "total_progression": 71.6498,
                "progressive_carries": 1.7878,
                "shots_off_target": 0.7306
              },
              "params": {
                "blend_weight": 0.0123,
                "history_matches": 48,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9192,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Alavés"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 1.8608,
                  "after": 1.8455
                },
                {
                  "stat": "wasFouled",
                  "before": 2.2061,
                  "after": 2.1978
                },
                {
                  "stat": "wonTackle",
                  "before": 1.2609,
                  "after": 1.253
                },
                {
                  "stat": "totalShots",
                  "before": 0.978,
                  "after": 0.9848
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.7487,
                "expected_assists": 0.0707,
                "assists": 0.0704,
                "assist_rate": 0.0704,
                "expected_goals": 0.0743,
                "goals": 0.0644,
                "goal_rate": 0.0644,
                "shots_on_target": 0.2481,
                "total_shots": 0.9848,
                "rating": 6.8387,
                "minutes": 82.73,
                "total_pass": 30.7522,
                "accurate_pass": 26.2215,
                "duels_won": 6.6795,
                "total_long_balls": 2.1895,
                "accurate_long_balls": 0.899,
                "total_own_half_passes": 12.0816,
                "accurate_own_half_passes": 10.9088,
                "total_opp_half_passes": 18.6708,
                "accurate_opp_half_passes": 15.3128,
                "crosses_total": 1.8455,
                "crosses_accurate": 0.4649,
                "touches": 50.441,
                "possession_lost": 10.4604,
                "dispossessed": 1.4386,
                "duels_lost": 5.4302,
                "aerial_won": 0.9386,
                "aerial_lost": 0.8543,
                "interceptions": 1.4291,
                "tackles_won": 1.253,
                "tackles": 2.5346,
                "clearances": 1.16,
                "total_contest": 1.7686,
                "won_contest": 1.1278,
                "challenges_lost": 1.0041,
                "fouls": 1.4898,
                "fouls_drawn": 2.1978,
                "blocks": 0.3331,
                "big_chances_created": 0.0046,
                "big_chances_missed": 0.0967,
                "xgot": 0.082,
                "ball_carries": 16.787,
                "total_progression": 71.6498,
                "progressive_carries": 1.7878,
                "shots_off_target": 0.7306
              },
              "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.7487,
                "expected_assists": 0.0707,
                "assists": 0.0704,
                "assist_rate": 0.0704,
                "expected_goals": 0.0624,
                "goals": 0.0541,
                "goal_rate": 0.0541,
                "shots_on_target": 0.2085,
                "total_shots": 0.8275,
                "rating": 6.8387,
                "minutes": 82.73,
                "total_pass": 30.7522,
                "accurate_pass": 26.2215,
                "duels_won": 6.6795,
                "total_long_balls": 2.1895,
                "accurate_long_balls": 0.899,
                "total_own_half_passes": 12.0816,
                "accurate_own_half_passes": 10.9088,
                "total_opp_half_passes": 18.6708,
                "accurate_opp_half_passes": 15.3128,
                "crosses_total": 1.8455,
                "crosses_accurate": 0.4649,
                "touches": 50.441,
                "possession_lost": 10.4604,
                "dispossessed": 1.4386,
                "duels_lost": 5.4302,
                "aerial_won": 1.0,
                "aerial_lost": 0.8543,
                "interceptions": 1.4291,
                "tackles_won": 1.253,
                "tackles": 2.5346,
                "clearances": 1.16,
                "total_contest": 1.7686,
                "won_contest": 1.1278,
                "challenges_lost": 1.0041,
                "fouls": 1.4898,
                "fouls_drawn": 2.1978,
                "blocks": 0.3331,
                "big_chances_created": 0.0046,
                "big_chances_missed": 0.0813,
                "xgot": 0.0689,
                "ball_carries": 16.787,
                "total_progression": 71.6498,
                "progressive_carries": 1.7878,
                "shots_off_target": 0.6139,
                "duel_xg_multiplier": 0.8403,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.311,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Lucien Agoumé",
                  "matchup_zone": "CDM vs CDM",
                  "duel_win_rate": 0.311,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.8403,
                  "skill_edge": -0.0846,
                  "height_edge": -0.024,
                  "attacker_skill": 0.46,
                  "defender_skill": 0.648,
                  "attacker_role": "CDM",
                  "attacker_mv_price_index": 0.85,
                  "defender_adjusted_parts": [
                    {
                      "player": "Lucien Agoumé",
                      "market_value": 18500000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.648
                    }
                  ],
                  "xg_override": 0.0624
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.9848,
                  "after": 0.8275
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.7306,
                  "after": 0.6139
                },
                {
                  "stat": "aerialWon",
                  "before": 0.9386,
                  "after": 1.0
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.2481,
                  "after": 0.2085
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.0967,
                  "after": 0.0813
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.082,
                  "after": 0.0689
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.0743,
                  "after": 0.0624
                },
                {
                  "stat": "goals",
                  "before": 0.0644,
                  "after": 0.0541
                }
              ]
            },
            {
              "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.7487,
                "expected_assists": 0.0707,
                "assist_rate": 0.0704,
                "assists": 0,
                "expected_goals": 0.0624,
                "goal_rate": 0.0541,
                "goals": 0,
                "shots_on_target": 0.2085,
                "total_shots": 0.8275,
                "rating": 6.8387,
                "minutes": 82.73,
                "total_pass": 30.7522,
                "accurate_pass": 26.2215,
                "duels_won": 6.6795,
                "total_long_balls": 2.1895,
                "accurate_long_balls": 0.899,
                "total_own_half_passes": 12.0816,
                "accurate_own_half_passes": 10.9088,
                "total_opp_half_passes": 18.6708,
                "accurate_opp_half_passes": 15.3128,
                "crosses_total": 1.8455,
                "crosses_accurate": 0.4649,
                "touches": 50.441,
                "possession_lost": 10.4604,
                "dispossessed": 1.4386,
                "duels_lost": 5.4302,
                "aerial_won": 1.0,
                "aerial_lost": 0.8543,
                "interceptions": 1.4291,
                "tackles_won": 1.253,
                "tackles": 2.5346,
                "clearances": 1.16,
                "total_contest": 1.7686,
                "won_contest": 1.1278,
                "challenges_lost": 1.0041,
                "fouls": 1.4898,
                "fouls_drawn": 2.1978,
                "blocks": 0.3331,
                "big_chances_created": 0.0046,
                "big_chances_missed": 0.0813,
                "xgot": 0.0689,
                "ball_carries": 16.787,
                "total_progression": 71.6498,
                "progressive_carries": 1.7878,
                "shots_off_target": 0.6139,
                "duel_xg_multiplier": 0.8403,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.311,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "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": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "key_pass": 0.7487,
                "expected_assists": 0.1129,
                "assist_rate": 0.0704,
                "assists": 0,
                "expected_goals": 0.0951,
                "goal_rate": 0.0541,
                "goals": 0,
                "shots_on_target": 0.2085,
                "total_shots": 0.8275,
                "rating": 6.8387,
                "minutes": 82.73,
                "total_pass": 30.7522,
                "accurate_pass": 26.2215,
                "duels_won": 6.6795,
                "total_long_balls": 2.1895,
                "accurate_long_balls": 0.899,
                "total_own_half_passes": 12.0816,
                "accurate_own_half_passes": 10.9088,
                "total_opp_half_passes": 18.6708,
                "accurate_opp_half_passes": 15.3128,
                "crosses_total": 1.8455,
                "crosses_accurate": 0.4649,
                "touches": 50.441,
                "possession_lost": 10.4604,
                "dispossessed": 1.4386,
                "duels_lost": 5.4302,
                "aerial_won": 1.0,
                "aerial_lost": 0.8543,
                "interceptions": 1.4291,
                "tackles_won": 1.253,
                "tackles": 2.5346,
                "clearances": 1.16,
                "total_contest": 1.7686,
                "won_contest": 1.1278,
                "challenges_lost": 1.0041,
                "fouls": 1.4898,
                "fouls_drawn": 2.1978,
                "blocks": 0.3331,
                "big_chances_created": 0.0046,
                "big_chances_missed": 0.0813,
                "xgot": 0.105,
                "ball_carries": 16.787,
                "total_progression": 71.6498,
                "progressive_carries": 1.7878,
                "shots_off_target": 0.6139,
                "duel_xg_multiplier": 0.8403,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.311,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9262,
                "creation_factor": 0.9975
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0624,
                  "after": 0.0951
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0707,
                  "after": 0.1129
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 4 by projected rating, fifa_overall 73.0)",
              "stats": {
                "key_pass": 0.7487,
                "expected_assists": 0.1129,
                "assist_rate": 0.0704,
                "assists": 0,
                "expected_goals": 0.0951,
                "goal_rate": 0.0541,
                "goals": 0,
                "shots_on_target": 0.2085,
                "total_shots": 0.8275,
                "rating": 6.8387,
                "minutes": 82.73,
                "total_pass": 30.7522,
                "accurate_pass": 26.2215,
                "duels_won": 6.6795,
                "total_long_balls": 2.1895,
                "accurate_long_balls": 0.899,
                "total_own_half_passes": 12.0816,
                "accurate_own_half_passes": 10.9088,
                "total_opp_half_passes": 18.6708,
                "accurate_opp_half_passes": 15.3128,
                "crosses_total": 1.8455,
                "crosses_accurate": 0.4649,
                "touches": 50.441,
                "possession_lost": 10.4604,
                "dispossessed": 1.4386,
                "duels_lost": 5.4302,
                "aerial_won": 1.0,
                "aerial_lost": 0.8543,
                "interceptions": 1.4291,
                "tackles_won": 1.253,
                "tackles": 2.5346,
                "clearances": 1.16,
                "total_contest": 1.7686,
                "won_contest": 1.1278,
                "challenges_lost": 1.0041,
                "fouls": 1.4898,
                "fouls_drawn": 2.1978,
                "blocks": 0.3331,
                "big_chances_created": 0.0046,
                "big_chances_missed": 0.0813,
                "xgot": 0.105,
                "ball_carries": 16.787,
                "total_progression": 71.6498,
                "progressive_carries": 1.7878,
                "shots_off_target": 0.6139,
                "duel_xg_multiplier": 0.8403,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.311,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9262,
                "creation_factor": 0.9975,
                "fifa_overall": 73.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": 3981,
                "fifa_rank": 3516.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.7487,
                "expected_assists": 0.1129,
                "assist_rate": 0.0704,
                "assists": 0,
                "expected_goals": 0.0951,
                "goal_rate": 0.0541,
                "goals": 0,
                "shots_on_target": 0.2085,
                "total_shots": 0.8275,
                "rating": 6.8387,
                "minutes": 82.73,
                "total_pass": 30.7522,
                "accurate_pass": 26.2215,
                "duels_won": 6.6795,
                "total_long_balls": 2.1895,
                "accurate_long_balls": 0.899,
                "total_own_half_passes": 12.0816,
                "accurate_own_half_passes": 10.9088,
                "total_opp_half_passes": 18.6708,
                "accurate_opp_half_passes": 15.3128,
                "crosses_total": 1.8455,
                "crosses_accurate": 0.4649,
                "touches": 50.441,
                "possession_lost": 10.4604,
                "dispossessed": 1.4386,
                "duels_lost": 5.4302,
                "aerial_won": 1.0,
                "aerial_lost": 0.8543,
                "interceptions": 1.4291,
                "tackles_won": 1.253,
                "tackles": 2.5346,
                "clearances": 1.16,
                "total_contest": 1.7686,
                "won_contest": 1.1278,
                "challenges_lost": 1.0041,
                "fouls": 1.4898,
                "fouls_drawn": 2.1978,
                "blocks": 0.3331,
                "big_chances_created": 0.0046,
                "big_chances_missed": 0.0813,
                "xgot": 0.105,
                "ball_carries": 16.787,
                "total_progression": 71.6498,
                "progressive_carries": 1.7878,
                "shots_off_target": 0.6139,
                "duel_xg_multiplier": 0.8403,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.311,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0907,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9262,
                "creation_factor": 0.9975,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0907,
                "goal_rate": 0.0541,
                "scorer_weight": 0.0881,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0623,
                "finishing_factor": 0.9262,
                "appearance_weight": 1.0,
                "weight_rank": 6,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.7487,
                "expected_assists": 0.1129,
                "assist_rate": 0.0704,
                "assists": 0,
                "expected_goals": 0.0951,
                "goal_rate": 0.0541,
                "goals": 0,
                "shots_on_target": 0.2085,
                "total_shots": 0.8275,
                "rating": 6.8387,
                "minutes": 82.73,
                "total_pass": 30.7522,
                "accurate_pass": 26.2215,
                "duels_won": 6.6795,
                "total_long_balls": 2.1895,
                "accurate_long_balls": 0.899,
                "total_own_half_passes": 12.0816,
                "accurate_own_half_passes": 10.9088,
                "total_opp_half_passes": 18.6708,
                "accurate_opp_half_passes": 15.3128,
                "crosses_total": 1.8455,
                "crosses_accurate": 0.4649,
                "touches": 50.441,
                "possession_lost": 10.4604,
                "dispossessed": 1.4386,
                "duels_lost": 5.4302,
                "aerial_won": 1.0,
                "aerial_lost": 0.8543,
                "interceptions": 1.4291,
                "tackles_won": 1.253,
                "tackles": 2.5346,
                "clearances": 1.16,
                "total_contest": 1.7686,
                "won_contest": 1.1278,
                "challenges_lost": 1.0041,
                "fouls": 1.4898,
                "fouls_drawn": 2.1978,
                "blocks": 0.3331,
                "big_chances_created": 0.0046,
                "big_chances_missed": 0.0813,
                "xgot": 0.105,
                "ball_carries": 16.787,
                "total_progression": 71.6498,
                "progressive_carries": 1.7878,
                "shots_off_target": 0.6139,
                "duel_xg_multiplier": 0.8403,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.311,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0907,
                "projected_assists": 0,
                "assist_probability": 0.1068,
                "finishing_factor": 0.9262,
                "creation_factor": 0.9975,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1068,
                "assist_rate": 0.0704,
                "provider_weight": 0.1126,
                "squad_weight_total": 0.8284,
                "weight_share": 0.1359,
                "creation_factor": 0.9975,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Lucas Boyé": {
          "player_id": 814385,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 15,
          "height": 183,
          "market_value": 5300000,
          "stats": {
            "expected_goals": 0.4367,
            "goal_rate": 0.2982,
            "goals": 1,
            "shots_on_target": 1,
            "total_shots": 2,
            "expected_assists": 0.0773,
            "key_pass": 1,
            "rating": 6.7967,
            "minutes": 79,
            "total_pass": 16,
            "accurate_pass": 11,
            "duels_won": 5,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 8,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 35,
            "possession_lost": 13.1566,
            "dispossessed": 1.7918,
            "duels_lost": 9,
            "aerial_lost": 2,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 3,
            "fouls_drawn": 1,
            "assist_rate": 0.005,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.4712,
            "offsides": 1,
            "ball_carries": 10,
            "total_progression": 17,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9364,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "aerial_won": 2,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "LOW",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Kike Salas, Marcão",
            "opponent_faced": "Kike Salas, Marcão",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.3538,
            "projected_assists": 0,
            "assist_probability": 0.0744,
            "finishing_factor": 1.0351,
            "creation_factor": 0.8,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 74,
                "rating": 6.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1191,
                "expected_assists": 0.0004,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 11,
                "accurate_pass": 7,
                "tackles": 1,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 2,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 5.9,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1461,
                "expected_assists": 0.014,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 2,
                "total_pass": 14,
                "accurate_pass": 8,
                "key_pass": 2,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3752,
                "expected_assists": 0.0867,
                "total_shots": 4,
                "shots_on_target": 3,
                "shots_off_target": 1,
                "total_pass": 31,
                "accurate_pass": 26,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 4,
                "duels_won": 8,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 64,
                "rating": 6.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.7884,
                "expected_assists": 0.0034,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 8,
                "accurate_pass": 5,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 75,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0054,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2017,
                "expected_assists": 0.0304,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 13,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1505,
                "expected_assists": 0.032,
                "total_shots": 4,
                "shots_off_target": 2,
                "total_pass": 14,
                "accurate_pass": 10,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 85,
                "rating": 10.0,
                "goal_rate": 3.0,
                "goals": 3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2454,
                "expected_assists": 0.0198,
                "total_shots": 3,
                "shots_on_target": 3,
                "total_pass": 24,
                "accurate_pass": 19,
                "tackles": 3,
                "tackles_won": 3,
                "aerial_won": 3,
                "duels_won": 13,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 82,
                "rating": 7.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.533,
                "expected_assists": 0.003,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 11,
                "accurate_pass": 9,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 1,
                "aerial_won": 4,
                "duels_won": 8,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 62,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1089,
                "expected_assists": 0.2737,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2629,
            "combined_rank_score": 921.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 292.0,
            "sofascore_rating": 7.05,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1550.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7967,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucas Boyé",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Augustine Chidi Kwem",
                  "ranking": 2624
                },
                {
                  "player_name": "Otabek Ahadov",
                  "ranking": 2625
                },
                {
                  "player_name": "Rodrigo Sandoval",
                  "ranking": 2626
                },
                {
                  "player_name": "Ruben Loftus-Cheek",
                  "ranking": 2627
                },
                {
                  "player_name": "Edu Expósito",
                  "ranking": 2628
                }
              ],
              "lower": [
                {
                  "player_name": "Duván Zapata",
                  "ranking": 2630
                },
                {
                  "player_name": "Tosin Adarabioyo",
                  "ranking": 2631
                },
                {
                  "player_name": "Selton Sanchez",
                  "ranking": 2632
                },
                {
                  "player_name": "Jung-Min Kim",
                  "ranking": 2633
                },
                {
                  "player_name": "Enzo Barrenechea",
                  "ranking": 2634
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.766,
          "history_matches": 39,
          "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": 39,
            "data_confidence": 0.766,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9987,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 142.0,
              "goals_per90": 0.625,
              "assists_per90": 0.0,
              "shots_per90": 3.17,
              "shots_on_target_pct": 40.0,
              "prior_reliability": 0.1067
            },
            "rationale": "XGBoost regressor (F_service) evaluated 39 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Alavés, rel: 0.11, gls/90: 0.625, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.3062,
                "goals": 0.3171,
                "goal_rate": 0.3171,
                "shots_on_target": 0.7244,
                "total_shots": 2.0782,
                "expected_assists": 0.0484,
                "key_pass": 0.736,
                "rating": 6.7967,
                "minutes": 78.79,
                "total_pass": 15.5396,
                "accurate_pass": 11.2016,
                "duels_won": 5.1729,
                "total_long_balls": 0.5578,
                "accurate_long_balls": 0.3716,
                "total_opp_half_passes": 11.9881,
                "accurate_opp_half_passes": 8.078,
                "crosses_total": 0.2405,
                "crosses_accurate": 0.0638,
                "touches": 34.8456,
                "possession_lost": 13.1737,
                "dispossessed": 1.7941,
                "duels_lost": 9.1808,
                "aerial_lost": 2.3381,
                "total_contest": 2.3672,
                "won_contest": 0.6545,
                "ball_recovery": 2.8032,
                "challenges_lost": 0.9405,
                "fouls": 2.5196,
                "fouls_drawn": 1.5031,
                "assists": 0.005,
                "assist_rate": 0.005,
                "interceptions": 0.0335,
                "tackles_won": 0.8399,
                "tackles": 1.4044,
                "clearances": 0.8481,
                "blocks": 0.269,
                "big_chances_created": 0.0702,
                "big_chances_missed": 0.1549,
                "xgot": 0.3305,
                "offsides": 0.5618,
                "ball_carries": 9.9649,
                "total_progression": 16.9947,
                "progressive_carries": 1.0179,
                "shots_off_target": 1.3538
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:06:26.876327+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 612,
                    "rows": 17180
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 74.0,
                    "is_starting": true,
                    "weight": 0.1503,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1277,
                    "rating": 5.9
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1086,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 64.0,
                    "is_starting": true,
                    "weight": 0.0923,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 75.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 10.0
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 82.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 10.7057,
                  "expectedGoals": 0.2677,
                  "accurateOppositionHalfPasses": 7.7486,
                  "totalShots": 2.2835,
                  "totalOppositionHalfPasses": 11.5534
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.30617398023605347,
                    "model_output": 0.3062,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2767
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0987
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.036
                      },
                      {
                        "name": "goals",
                        "importance": 0.0336
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.1929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0619
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0276
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0166
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0097
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": 0.0085
                        }
                      ],
                      "others": 0.0222,
                      "total": 0.3062,
                      "log_link": true,
                      "margin_base": -1.645586,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.278282
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.102811
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.060607
                        },
                        {
                          "name": "goals",
                          "margin": 0.035895
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": 0.030221
                        }
                      ],
                      "others_margin": 0.075383
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.31712689995765686,
                    "model_output": 0.3171,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1491
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0805
                      },
                      {
                        "name": "goals",
                        "importance": 0.056
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0343
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0288
                      }
                    ],
                    "decomposition": {
                      "base": 0.1972,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0602
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0338
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0212
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0161
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": 0.0115
                        }
                      ],
                      "others": 0.0093,
                      "total": 0.3171,
                      "log_link": true,
                      "margin_base": -1.623746,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.266646
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.12352
                        },
                        {
                          "name": "goals",
                          "margin": 0.070228
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.052808
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": 0.038087
                        }
                      ],
                      "others_margin": 0.02962
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.7244320511817932,
                    "model_output": 0.7244,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2173
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0637
                      },
                      {
                        "name": "goals",
                        "importance": 0.0596
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0393
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.5269,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1579
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0652
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0518
                        },
                        {
                          "name": "goals",
                          "contribution": 0.035
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0307
                        }
                      ],
                      "others": 0.0487,
                      "total": 0.7244,
                      "log_link": true,
                      "margin_base": -0.640773,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.26219
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.099999
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.080259
                        },
                        {
                          "name": "goals",
                          "margin": 0.050757
                        },
                        {
                          "name": "duelLost",
                          "margin": -0.044432
                        }
                      ],
                      "others_margin": 0.06963
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 2.078235149383545,
                    "model_output": 2.0782,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.3005
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0627
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0526
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0309
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0307
                      }
                    ],
                    "decomposition": {
                      "base": 1.3756,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4902
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1661
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0656
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0282
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0257
                        }
                      ],
                      "others": 0.058,
                      "total": 2.0782,
                      "log_link": false,
                      "margin_base": 1.375643,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.490231
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.166053
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.065584
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.028165
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.025663
                        }
                      ],
                      "others_margin": 0.058064
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.048427022993564606,
                    "model_output": 0.0484,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1287
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1119
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0634
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.051
                      }
                    ],
                    "decomposition": {
                      "base": 0.065,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0184
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0094
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0059
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0054
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0046
                        }
                      ],
                      "others": -0.0097,
                      "total": 0.0484,
                      "log_link": true,
                      "margin_base": -2.733324,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.248772
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.120114
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.083837
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.082023
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.076518
                        }
                      ],
                      "others_margin": -0.180653
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.7360222935676575,
                    "model_output": 0.736,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1579
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1341
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0953
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.069
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0295
                      }
                    ],
                    "decomposition": {
                      "base": 0.6917,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1896
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0498
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0323
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0284
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.027
                        }
                      ],
                      "others": -0.0618,
                      "total": 0.736,
                      "log_link": true,
                      "margin_base": -0.368585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.242223
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.058214
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.039657
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.03618
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": 0.034411
                        }
                      ],
                      "others_margin": -0.080493
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.796722412109375,
                    "model_output": 6.7967,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.048
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0462
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0455
                      },
                      {
                        "name": "rating",
                        "importance": 0.0455
                      }
                    ],
                    "decomposition": {
                      "base": 6.7733,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0539
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0162
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0103
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0077
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0075
                        }
                      ],
                      "others": -0.0212,
                      "total": 6.7967,
                      "log_link": false,
                      "margin_base": 6.773334,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.053914
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.016243
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.010329
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.007689
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.007496
                        }
                      ],
                      "others_margin": -0.021254
                    }
                  }
                ],
                "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 0.9987, quality 0.466)",
              "stats": {
                "expected_goals": 0.3058,
                "goals": 0.3167,
                "goal_rate": 0.3167,
                "shots_on_target": 0.7235,
                "total_shots": 2.0755,
                "expected_assists": 0.0484,
                "key_pass": 0.7351,
                "rating": 6.7967,
                "minutes": 78.79,
                "total_pass": 15.5194,
                "accurate_pass": 11.187,
                "duels_won": 5.1662,
                "total_long_balls": 0.5571,
                "accurate_long_balls": 0.3711,
                "total_opp_half_passes": 11.9725,
                "accurate_opp_half_passes": 8.0675,
                "crosses_total": 0.2402,
                "crosses_accurate": 0.0637,
                "touches": 34.8003,
                "possession_lost": 13.1566,
                "dispossessed": 1.7918,
                "duels_lost": 9.1689,
                "aerial_lost": 2.3351,
                "total_contest": 2.3641,
                "won_contest": 0.6536,
                "ball_recovery": 2.7996,
                "challenges_lost": 0.9393,
                "fouls": 2.5163,
                "fouls_drawn": 1.5011,
                "assists": 0.005,
                "assist_rate": 0.005,
                "interceptions": 0.0335,
                "tackles_won": 0.8388,
                "tackles": 1.4026,
                "clearances": 0.847,
                "blocks": 0.2687,
                "big_chances_created": 0.0701,
                "big_chances_missed": 0.1547,
                "xgot": 0.3301,
                "offsides": 0.5611,
                "ball_carries": 9.9519,
                "total_progression": 16.9726,
                "progressive_carries": 1.0166,
                "shots_off_target": 1.352
              },
              "params": {
                "market_value_eur": 5300000,
                "quality_factor": 0.4659,
                "boost_factor": 0.9987,
                "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.0079)",
              "stats": {
                "expected_goals": 0.3058,
                "goals": 0.3185,
                "goal_rate": 0.3185,
                "shots_on_target": 0.7266,
                "total_shots": 2.081,
                "expected_assists": 0.0484,
                "key_pass": 0.7351,
                "rating": 6.7967,
                "minutes": 78.79,
                "total_pass": 15.5194,
                "accurate_pass": 11.187,
                "duels_won": 5.1662,
                "total_long_balls": 0.5571,
                "accurate_long_balls": 0.3711,
                "total_opp_half_passes": 11.9725,
                "accurate_opp_half_passes": 8.0675,
                "crosses_total": 0.2383,
                "crosses_accurate": 0.0637,
                "touches": 34.8003,
                "possession_lost": 13.1566,
                "dispossessed": 1.7918,
                "duels_lost": 9.1689,
                "aerial_lost": 2.3351,
                "total_contest": 2.3641,
                "won_contest": 0.6536,
                "ball_recovery": 2.7996,
                "challenges_lost": 0.9393,
                "fouls": 2.518,
                "fouls_drawn": 1.4979,
                "assists": 0.005,
                "assist_rate": 0.005,
                "interceptions": 0.0332,
                "tackles_won": 0.8538,
                "tackles": 1.4026,
                "clearances": 0.847,
                "blocks": 0.2687,
                "big_chances_created": 0.0701,
                "big_chances_missed": 0.1547,
                "xgot": 0.3301,
                "offsides": 0.5567,
                "ball_carries": 9.9519,
                "total_progression": 16.9726,
                "progressive_carries": 1.0166,
                "shots_off_target": 1.352
              },
              "params": {
                "blend_weight": 0.0079,
                "history_matches": 39,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.8754,
                "prior_reliability": 0.1067,
                "competition": "La Liga",
                "squad": "Alavés"
              },
              "changes": [
                {
                  "stat": "wonTackle",
                  "before": 0.8388,
                  "after": 0.8538
                },
                {
                  "stat": "totalShots",
                  "before": 2.0755,
                  "after": 2.081
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.3058,
                "goals": 0.3185,
                "goal_rate": 0.3185,
                "shots_on_target": 0.7266,
                "total_shots": 2.081,
                "expected_assists": 0.0484,
                "key_pass": 0.7351,
                "rating": 6.7967,
                "minutes": 78.79,
                "total_pass": 15.5194,
                "accurate_pass": 11.187,
                "duels_won": 5.1662,
                "total_long_balls": 0.5571,
                "accurate_long_balls": 0.3711,
                "total_opp_half_passes": 11.9725,
                "accurate_opp_half_passes": 8.0675,
                "crosses_total": 0.2383,
                "crosses_accurate": 0.0637,
                "touches": 34.8003,
                "possession_lost": 13.1566,
                "dispossessed": 1.7918,
                "duels_lost": 9.1689,
                "aerial_lost": 2.3351,
                "total_contest": 2.3641,
                "won_contest": 0.6536,
                "ball_recovery": 2.7996,
                "challenges_lost": 0.9393,
                "fouls": 2.518,
                "fouls_drawn": 1.4979,
                "assists": 0.005,
                "assist_rate": 0.005,
                "interceptions": 0.0332,
                "tackles_won": 0.8538,
                "tackles": 1.4026,
                "clearances": 0.847,
                "blocks": 0.2687,
                "big_chances_created": 0.0701,
                "big_chances_missed": 0.1547,
                "xgot": 0.3301,
                "offsides": 0.5567,
                "ball_carries": 9.9519,
                "total_progression": 16.9726,
                "progressive_carries": 1.0166,
                "shots_off_target": 1.352
              },
              "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.2864,
                "goals": 0.2982,
                "goal_rate": 0.2982,
                "shots_on_target": 0.6804,
                "total_shots": 1.9486,
                "expected_assists": 0.0484,
                "key_pass": 0.7351,
                "rating": 6.7967,
                "minutes": 78.79,
                "total_pass": 15.5194,
                "accurate_pass": 11.187,
                "duels_won": 5.1662,
                "total_long_balls": 0.5571,
                "accurate_long_balls": 0.3711,
                "total_opp_half_passes": 11.9725,
                "accurate_opp_half_passes": 8.0675,
                "crosses_total": 0.2383,
                "crosses_accurate": 0.0637,
                "touches": 34.8003,
                "possession_lost": 13.1566,
                "dispossessed": 1.7918,
                "duels_lost": 9.1689,
                "aerial_lost": 2.3351,
                "total_contest": 2.3641,
                "won_contest": 0.6536,
                "ball_recovery": 2.7996,
                "challenges_lost": 0.9393,
                "fouls": 2.518,
                "fouls_drawn": 1.4979,
                "assists": 0.005,
                "assist_rate": 0.005,
                "interceptions": 0.0332,
                "tackles_won": 0.8538,
                "tackles": 1.4026,
                "clearances": 0.847,
                "blocks": 0.2687,
                "big_chances_created": 0.0701,
                "big_chances_missed": 0.1449,
                "xgot": 0.3091,
                "offsides": 0.5567,
                "ball_carries": 9.9519,
                "total_progression": 16.9726,
                "progressive_carries": 1.0166,
                "shots_off_target": 1.266,
                "duel_xg_multiplier": 0.9364,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Kike Salas, Marcão",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.18,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.9364,
                  "skill_edge": -0.0332,
                  "height_edge": -0.01,
                  "attacker_skill": 0.4659,
                  "defender_skill": 0.5397,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Kike Salas",
                      "market_value": 15400000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.6363
                    },
                    {
                      "player": "Marcão",
                      "market_value": 2600000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4432
                    }
                  ],
                  "xg_override": 0.2864
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 2.081,
                  "after": 1.9486
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.352,
                  "after": 1.266
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.7266,
                  "after": 0.6804
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.3301,
                  "after": 0.3091
                },
                {
                  "stat": "goals",
                  "before": 0.3185,
                  "after": 0.2982
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.3058,
                  "after": 0.2864
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.1547,
                  "after": 0.1449
                }
              ]
            },
            {
              "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.2864,
                "goal_rate": 0.2982,
                "goals": 0,
                "shots_on_target": 0.6804,
                "total_shots": 1.9486,
                "expected_assists": 0.0484,
                "key_pass": 0.7351,
                "rating": 6.7967,
                "minutes": 78.79,
                "total_pass": 15.5194,
                "accurate_pass": 11.187,
                "duels_won": 5.1662,
                "total_long_balls": 0.5571,
                "accurate_long_balls": 0.3711,
                "total_opp_half_passes": 11.9725,
                "accurate_opp_half_passes": 8.0675,
                "crosses_total": 0.2383,
                "crosses_accurate": 0.0637,
                "touches": 34.8003,
                "possession_lost": 13.1566,
                "dispossessed": 1.7918,
                "duels_lost": 9.1689,
                "aerial_lost": 2.3351,
                "total_contest": 2.3641,
                "won_contest": 0.6536,
                "ball_recovery": 2.7996,
                "challenges_lost": 0.9393,
                "fouls": 2.518,
                "fouls_drawn": 1.4979,
                "assist_rate": 0.005,
                "assists": 0,
                "interceptions": 0.0332,
                "tackles_won": 0.8538,
                "tackles": 1.4026,
                "clearances": 0.847,
                "blocks": 0.2687,
                "big_chances_created": 0.0701,
                "big_chances_missed": 0.1449,
                "xgot": 0.3091,
                "offsides": 0.5567,
                "ball_carries": 9.9519,
                "total_progression": 16.9726,
                "progressive_carries": 1.0166,
                "shots_off_target": 1.266,
                "duel_xg_multiplier": 0.9364,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.4367,
                "goal_rate": 0.2982,
                "goals": 0,
                "shots_on_target": 0.6804,
                "total_shots": 1.9486,
                "expected_assists": 0.0773,
                "key_pass": 0.7351,
                "rating": 6.7967,
                "minutes": 78.79,
                "total_pass": 15.5194,
                "accurate_pass": 11.187,
                "duels_won": 5.1662,
                "total_long_balls": 0.5571,
                "accurate_long_balls": 0.3711,
                "total_opp_half_passes": 11.9725,
                "accurate_opp_half_passes": 8.0675,
                "crosses_total": 0.2383,
                "crosses_accurate": 0.0637,
                "touches": 34.8003,
                "possession_lost": 13.1566,
                "dispossessed": 1.7918,
                "duels_lost": 9.1689,
                "aerial_lost": 2.3351,
                "total_contest": 2.3641,
                "won_contest": 0.6536,
                "ball_recovery": 2.7996,
                "challenges_lost": 0.9393,
                "fouls": 2.518,
                "fouls_drawn": 1.4979,
                "assist_rate": 0.005,
                "assists": 0,
                "interceptions": 0.0332,
                "tackles_won": 0.8538,
                "tackles": 1.4026,
                "clearances": 0.847,
                "blocks": 0.2687,
                "big_chances_created": 0.0701,
                "big_chances_missed": 0.1449,
                "xgot": 0.4712,
                "offsides": 0.5567,
                "ball_carries": 9.9519,
                "total_progression": 16.9726,
                "progressive_carries": 1.0166,
                "shots_off_target": 1.266,
                "duel_xg_multiplier": 0.9364,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0351,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.2864,
                  "after": 0.4367
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0484,
                  "after": 0.0773
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 6 by projected rating, fifa_overall 77.0)",
              "stats": {
                "expected_goals": 0.4367,
                "goal_rate": 0.2982,
                "goals": 0,
                "shots_on_target": 0.6804,
                "total_shots": 1.9486,
                "expected_assists": 0.0773,
                "key_pass": 0.7351,
                "rating": 6.7967,
                "minutes": 78.79,
                "total_pass": 15.5194,
                "accurate_pass": 11.187,
                "duels_won": 5.1662,
                "total_long_balls": 0.5571,
                "accurate_long_balls": 0.3711,
                "total_opp_half_passes": 11.9725,
                "accurate_opp_half_passes": 8.0675,
                "crosses_total": 0.2383,
                "crosses_accurate": 0.0637,
                "touches": 34.8003,
                "possession_lost": 13.1566,
                "dispossessed": 1.7918,
                "duels_lost": 9.1689,
                "aerial_lost": 2.3351,
                "total_contest": 2.3641,
                "won_contest": 0.6536,
                "ball_recovery": 2.7996,
                "challenges_lost": 0.9393,
                "fouls": 2.518,
                "fouls_drawn": 1.4979,
                "assist_rate": 0.005,
                "assists": 0,
                "interceptions": 0.0332,
                "tackles_won": 0.8538,
                "tackles": 1.4026,
                "clearances": 0.847,
                "blocks": 0.2687,
                "big_chances_created": 0.0701,
                "big_chances_missed": 0.1449,
                "xgot": 0.4712,
                "offsides": 0.5567,
                "ball_carries": 9.9519,
                "total_progression": 16.9726,
                "progressive_carries": 1.0166,
                "shots_off_target": 1.266,
                "duel_xg_multiplier": 0.9364,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0351,
                "creation_factor": 0.8,
                "fifa_overall": 77.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": 2629,
                "fifa_rank": 1550.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 77.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.4367,
                "goal_rate": 0.2982,
                "goals": 1,
                "shots_on_target": 0.6804,
                "total_shots": 1.9486,
                "expected_assists": 0.0773,
                "key_pass": 0.7351,
                "rating": 6.7967,
                "minutes": 78.79,
                "total_pass": 15.5194,
                "accurate_pass": 11.187,
                "duels_won": 5.1662,
                "total_long_balls": 0.5571,
                "accurate_long_balls": 0.3711,
                "total_opp_half_passes": 11.9725,
                "accurate_opp_half_passes": 8.0675,
                "crosses_total": 0.2383,
                "crosses_accurate": 0.0637,
                "touches": 34.8003,
                "possession_lost": 13.1566,
                "dispossessed": 1.7918,
                "duels_lost": 9.1689,
                "aerial_lost": 2.3351,
                "total_contest": 2.3641,
                "won_contest": 0.6536,
                "ball_recovery": 2.7996,
                "challenges_lost": 0.9393,
                "fouls": 2.518,
                "fouls_drawn": 1.4979,
                "assist_rate": 0.005,
                "assists": 0,
                "interceptions": 0.0332,
                "tackles_won": 0.8538,
                "tackles": 1.4026,
                "clearances": 0.847,
                "blocks": 0.2687,
                "big_chances_created": 0.0701,
                "big_chances_missed": 0.1449,
                "xgot": 0.4712,
                "offsides": 0.5567,
                "ball_carries": 9.9519,
                "total_progression": 16.9726,
                "progressive_carries": 1.0166,
                "shots_off_target": 1.266,
                "duel_xg_multiplier": 0.9364,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.3538,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0351,
                "creation_factor": 0.8,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 1,
                "goal_probability": 0.3538,
                "goal_rate": 0.2982,
                "scorer_weight": 0.452,
                "squad_weight_total": 1.4144,
                "weight_share": 0.3196,
                "finishing_factor": 1.0351,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.4367,
                "goal_rate": 0.2982,
                "goals": 1,
                "shots_on_target": 0.6804,
                "total_shots": 1.9486,
                "expected_assists": 0.0773,
                "key_pass": 0.7351,
                "rating": 6.7967,
                "minutes": 78.79,
                "total_pass": 15.5194,
                "accurate_pass": 11.187,
                "duels_won": 5.1662,
                "total_long_balls": 0.5571,
                "accurate_long_balls": 0.3711,
                "total_opp_half_passes": 11.9725,
                "accurate_opp_half_passes": 8.0675,
                "crosses_total": 0.2383,
                "crosses_accurate": 0.0637,
                "touches": 34.8003,
                "possession_lost": 13.1566,
                "dispossessed": 1.7918,
                "duels_lost": 9.1689,
                "aerial_lost": 2.3351,
                "total_contest": 2.3641,
                "won_contest": 0.6536,
                "ball_recovery": 2.7996,
                "challenges_lost": 0.9393,
                "fouls": 2.518,
                "fouls_drawn": 1.4979,
                "assist_rate": 0.005,
                "assists": 0,
                "interceptions": 0.0332,
                "tackles_won": 0.8538,
                "tackles": 1.4026,
                "clearances": 0.847,
                "blocks": 0.2687,
                "big_chances_created": 0.0701,
                "big_chances_missed": 0.1449,
                "xgot": 0.4712,
                "offsides": 0.5567,
                "ball_carries": 9.9519,
                "total_progression": 16.9726,
                "progressive_carries": 1.0166,
                "shots_off_target": 1.266,
                "duel_xg_multiplier": 0.9364,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.3538,
                "projected_assists": 0,
                "assist_probability": 0.0744,
                "finishing_factor": 1.0351,
                "creation_factor": 0.8,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0744,
                "assist_rate": 0.005,
                "provider_weight": 0.0618,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0746,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Abderrahman Rebbach": {
          "player_id": 1082968,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 21,
          "height": 176,
          "market_value": 2400000,
          "stats": {
            "expected_goals": 0.1305,
            "goal_rate": 0.1197,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.1017,
            "key_pass": 1,
            "rating": 6.7532,
            "minutes": 74,
            "total_pass": 21,
            "accurate_pass": 17,
            "duels_won": 4,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 11,
            "accurate_opp_half_passes": 8,
            "crosses_total": 3,
            "crosses_accurate": 0,
            "touches": 42,
            "possession_lost": 12.1523,
            "dispossessed": 0.343,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.0462,
            "assists": 0,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0398,
            "offsides": 0,
            "ball_carries": 12,
            "total_progression": 67,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.8765,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "aerial_won": 1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "LOW",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Kike Salas, Marcão",
            "opponent_faced": "Kike Salas, Marcão",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.1223,
            "projected_assists": 0,
            "assist_probability": 0.0967,
            "finishing_factor": 1.25,
            "creation_factor": 0.8461,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 55,
                "rating": 6.2,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2745,
                "expected_assists": 0.0051,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 13,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 1,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 55,
                "rating": 6.2,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0011,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 14,
                "accurate_pass": 9,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 7,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 88,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0447,
                "expected_assists": 0.1004,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 33,
                "accurate_pass": 24,
                "key_pass": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0164,
                "expected_assists": 0.0036,
                "total_shots": 1,
                "total_pass": 18,
                "accurate_pass": 16,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 65,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.009,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 19,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 85,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0607,
                "expected_assists": 0.0566,
                "total_shots": 1,
                "total_pass": 27,
                "accurate_pass": 22,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0643,
                "expected_assists": 0.0109,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 23,
                "accurate_pass": 22,
                "tackles": 5,
                "tackles_won": 3,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 10,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 71,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0098,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 15,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 4,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 71,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0062,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 17,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0189,
                "expected_assists": 0.0275,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 32,
                "accurate_pass": 27,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1659,
            "combined_rank_score": 944.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 673.0,
            "sofascore_rating": 6.7241,
            "sofascore_appearances": 30.0,
            "fifa_rank": 1216.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.7532,
            "source_file": "data/player_rankings.csv",
            "player_name": "Abderrahman Rebbach",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Khumoyun Sherbutaev",
                  "ranking": 1654
                },
                {
                  "player_name": "Kuvonchbek Khushvaktov",
                  "ranking": 1655
                },
                {
                  "player_name": "Florian Grillitsch",
                  "ranking": 1656
                },
                {
                  "player_name": "Zakaria Labyad",
                  "ranking": 1657
                },
                {
                  "player_name": "Rodrigo Odriozola",
                  "ranking": 1658
                }
              ],
              "lower": [
                {
                  "player_name": "Petar Sučić",
                  "ranking": 1660
                },
                {
                  "player_name": "Giacomo Raspadori",
                  "ranking": 1661
                },
                {
                  "player_name": "Wataru Endo",
                  "ranking": 1662
                },
                {
                  "player_name": "Barış Alper Yılmaz",
                  "ranking": 1663
                },
                {
                  "player_name": "Carlos Soler",
                  "ranking": 1664
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 41,
          "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": 41,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9978,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (F_service) evaluated 41 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.0979,
                "goals": 0.1369,
                "goal_rate": 0.1369,
                "shots_on_target": 0.3874,
                "total_shots": 0.9655,
                "expected_assists": 0.0638,
                "key_pass": 0.7,
                "rating": 6.7532,
                "minutes": 74.34,
                "total_pass": 21.2132,
                "accurate_pass": 16.823,
                "duels_won": 3.9718,
                "total_long_balls": 2.1323,
                "accurate_long_balls": 1.1902,
                "total_opp_half_passes": 10.587,
                "accurate_opp_half_passes": 7.6301,
                "crosses_total": 3.2744,
                "crosses_accurate": 0.391,
                "touches": 42.3169,
                "possession_lost": 12.1791,
                "dispossessed": 0.3438,
                "duels_lost": 4.1723,
                "aerial_lost": 0.6893,
                "total_contest": 1.9224,
                "won_contest": 0.7235,
                "ball_recovery": 3.7617,
                "challenges_lost": 0.9554,
                "fouls": 1.074,
                "fouls_drawn": 0.9866,
                "assists": 0.0463,
                "assist_rate": 0.0463,
                "interceptions": 0.7768,
                "tackles_won": 1.0255,
                "tackles": 1.7732,
                "clearances": 0.9966,
                "blocks": 0.0795,
                "big_chances_created": 0.0723,
                "big_chances_missed": 0.1755,
                "xgot": 0.0299,
                "offsides": 0.2034,
                "ball_carries": 11.7852,
                "total_progression": 66.7294,
                "progressive_carries": 2.3097,
                "shots_off_target": 0.5781
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:06:26.876327+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 612,
                    "rows": 17180
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 55.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 55.0,
                    "is_starting": true,
                    "weight": 0.1277,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 65.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 16.4434,
                  "expectedGoals": 0.0664,
                  "accurateOppositionHalfPasses": 7.4086,
                  "totalShots": 0.7387,
                  "totalOppositionHalfPasses": 10.2703
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.09787342697381973,
                    "model_output": 0.0979,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2767
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0987
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.036
                      },
                      {
                        "name": "goals",
                        "importance": 0.0336
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.1929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0589
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0532
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0252
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.015
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0105
                        }
                      ],
                      "others": -0.05,
                      "total": 0.0979,
                      "log_link": true,
                      "margin_base": -1.645586,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.266302
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.237269
                        },
                        {
                          "name": "goals",
                          "margin": -0.135589
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.090655
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.06888
                        }
                      ],
                      "others_margin": -0.412403
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.1369333267211914,
                    "model_output": 0.1369,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1491
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0805
                      },
                      {
                        "name": "goals",
                        "importance": 0.056
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0343
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0288
                      }
                    ],
                    "decomposition": {
                      "base": 0.1972,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0683
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0345
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0261
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0207
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": -0.0082
                        }
                      ],
                      "others": -0.0391,
                      "total": 0.1369,
                      "log_link": true,
                      "margin_base": -1.623746,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.297466
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.139173
                        },
                        {
                          "name": "goals",
                          "margin": -0.120118
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.106599
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": -0.045499
                        }
                      ],
                      "others_margin": -0.250594
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.38735952973365784,
                    "model_output": 0.3874,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2173
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0637
                      },
                      {
                        "name": "goals",
                        "importance": 0.0596
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0393
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.5269,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1639
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0761
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0537
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0467
                        },
                        {
                          "name": "goals",
                          "contribution": -0.042
                        }
                      ],
                      "others": -0.0849,
                      "total": 0.3874,
                      "log_link": true,
                      "margin_base": -0.640773,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.270899
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.11674
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.091364
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.08683
                        },
                        {
                          "name": "goals",
                          "margin": -0.085262
                        }
                      ],
                      "others_margin": -0.198332
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.9654615521430969,
                    "model_output": 0.9655,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.3005
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0627
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0526
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0309
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0307
                      }
                    ],
                    "decomposition": {
                      "base": 1.3756,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.3499
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1939
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0947
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0845
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": -0.0607
                        }
                      ],
                      "others": -0.3262,
                      "total": 0.9655,
                      "log_link": false,
                      "margin_base": 1.375643,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.349892
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.193908
                        },
                        {
                          "name": "goals",
                          "margin": -0.094711
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.0845
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": -0.06074
                        }
                      ],
                      "others_margin": -0.326215
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.06383491307497025,
                    "model_output": 0.0638,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1287
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1119
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0634
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.051
                      }
                    ],
                    "decomposition": {
                      "base": 0.065,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0147
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0115
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0059
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0028
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0026
                        }
                      ],
                      "others": 0.0017,
                      "total": 0.0638,
                      "log_link": true,
                      "margin_base": -2.733324,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.204378
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.155085
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.090424
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.045184
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.043053
                        }
                      ],
                      "others_margin": 0.025132
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.7000250220298767,
                    "model_output": 0.7,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1579
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1341
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0953
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.069
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0295
                      }
                    ],
                    "decomposition": {
                      "base": 0.6917,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1787
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.085
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0601
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.045
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0402
                        }
                      ],
                      "others": -0.0301,
                      "total": 0.7,
                      "log_link": true,
                      "margin_base": -0.368585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.229793
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.102781
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.079557
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.060218
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.05365
                        }
                      ],
                      "others_margin": -0.042077
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.753178119659424,
                    "model_output": 6.7532,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.048
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0462
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0455
                      },
                      {
                        "name": "rating",
                        "importance": 0.0455
                      }
                    ],
                    "decomposition": {
                      "base": 6.7733,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0476
                        },
                        {
                          "name": "rating",
                          "contribution": -0.035
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0258
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0152
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0144
                        }
                      ],
                      "others": -0.0593,
                      "total": 6.7532,
                      "log_link": false,
                      "margin_base": 6.773334,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.047638
                        },
                        {
                          "name": "rating",
                          "margin": -0.034969
                        },
                        {
                          "name": "touches",
                          "margin": 0.025775
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.015242
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.014439
                        }
                      ],
                      "others_margin": -0.059404
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 41,
                  "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 0.9978, quality 0.437)",
              "stats": {
                "expected_goals": 0.0977,
                "goals": 0.1366,
                "goal_rate": 0.1366,
                "shots_on_target": 0.3865,
                "total_shots": 0.9633,
                "expected_assists": 0.0637,
                "key_pass": 0.6985,
                "rating": 6.7532,
                "minutes": 74.34,
                "total_pass": 21.1665,
                "accurate_pass": 16.786,
                "duels_won": 3.9631,
                "total_long_balls": 2.1276,
                "accurate_long_balls": 1.1876,
                "total_opp_half_passes": 10.5637,
                "accurate_opp_half_passes": 7.6133,
                "crosses_total": 3.2672,
                "crosses_accurate": 0.3901,
                "touches": 42.2238,
                "possession_lost": 12.1523,
                "dispossessed": 0.343,
                "duels_lost": 4.1631,
                "aerial_lost": 0.6878,
                "total_contest": 1.9182,
                "won_contest": 0.7219,
                "ball_recovery": 3.7534,
                "challenges_lost": 0.9533,
                "fouls": 1.0716,
                "fouls_drawn": 0.9844,
                "assists": 0.0462,
                "assist_rate": 0.0462,
                "interceptions": 0.7751,
                "tackles_won": 1.0232,
                "tackles": 1.7693,
                "clearances": 0.9944,
                "blocks": 0.0793,
                "big_chances_created": 0.0721,
                "big_chances_missed": 0.1751,
                "xgot": 0.0298,
                "offsides": 0.203,
                "ball_carries": 11.7593,
                "total_progression": 66.5826,
                "progressive_carries": 2.3046,
                "shots_off_target": 0.5768
              },
              "params": {
                "market_value_eur": 2400000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9978,
                "reference_quality": 0.505,
                "history_matches": 41,
                "history_shrink": 0.1087,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0977,
                "goals": 0.1366,
                "goal_rate": 0.1366,
                "shots_on_target": 0.3865,
                "total_shots": 0.9633,
                "expected_assists": 0.0637,
                "key_pass": 0.6985,
                "rating": 6.7532,
                "minutes": 74.34,
                "total_pass": 21.1665,
                "accurate_pass": 16.786,
                "duels_won": 3.9631,
                "total_long_balls": 2.1276,
                "accurate_long_balls": 1.1876,
                "total_opp_half_passes": 10.5637,
                "accurate_opp_half_passes": 7.6133,
                "crosses_total": 3.2672,
                "crosses_accurate": 0.3901,
                "touches": 42.2238,
                "possession_lost": 12.1523,
                "dispossessed": 0.343,
                "duels_lost": 4.1631,
                "aerial_lost": 0.6878,
                "total_contest": 1.9182,
                "won_contest": 0.7219,
                "ball_recovery": 3.7534,
                "challenges_lost": 0.9533,
                "fouls": 1.0716,
                "fouls_drawn": 0.9844,
                "assists": 0.0462,
                "assist_rate": 0.0462,
                "interceptions": 0.7751,
                "tackles_won": 1.0232,
                "tackles": 1.7693,
                "clearances": 0.9944,
                "blocks": 0.0793,
                "big_chances_created": 0.0721,
                "big_chances_missed": 0.1751,
                "xgot": 0.0298,
                "offsides": 0.203,
                "ball_carries": 11.7593,
                "total_progression": 66.5826,
                "progressive_carries": 2.3046,
                "shots_off_target": 0.5768
              },
              "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.0856,
                "goals": 0.1197,
                "goal_rate": 0.1197,
                "shots_on_target": 0.3388,
                "total_shots": 0.8444,
                "expected_assists": 0.0637,
                "key_pass": 0.6985,
                "rating": 6.7532,
                "minutes": 74.34,
                "total_pass": 21.1665,
                "accurate_pass": 16.786,
                "duels_won": 3.9631,
                "total_long_balls": 2.1276,
                "accurate_long_balls": 1.1876,
                "total_opp_half_passes": 10.5637,
                "accurate_opp_half_passes": 7.6133,
                "crosses_total": 3.2672,
                "crosses_accurate": 0.3901,
                "touches": 42.2238,
                "possession_lost": 12.1523,
                "dispossessed": 0.343,
                "duels_lost": 4.1631,
                "aerial_lost": 0.6878,
                "total_contest": 1.9182,
                "won_contest": 0.7219,
                "ball_recovery": 3.7534,
                "challenges_lost": 0.9533,
                "fouls": 1.0716,
                "fouls_drawn": 0.9844,
                "assists": 0.0462,
                "assist_rate": 0.0462,
                "interceptions": 0.7751,
                "tackles_won": 1.0232,
                "tackles": 1.7693,
                "clearances": 0.9944,
                "blocks": 0.0793,
                "big_chances_created": 0.0721,
                "big_chances_missed": 0.1535,
                "xgot": 0.0261,
                "offsides": 0.203,
                "ball_carries": 11.7593,
                "total_progression": 66.5826,
                "progressive_carries": 2.3046,
                "shots_off_target": 0.5056,
                "duel_xg_multiplier": 0.8765,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Kike Salas, Marcão",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.18,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.8765,
                  "skill_edge": -0.046,
                  "height_edge": -0.038,
                  "attacker_skill": 0.4374,
                  "defender_skill": 0.5397,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Kike Salas",
                      "market_value": 15400000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.6363
                    },
                    {
                      "player": "Marcão",
                      "market_value": 2600000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4432
                    }
                  ],
                  "xg_override": 0.0856
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.9633,
                  "after": 0.8444
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.5768,
                  "after": 0.5056
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.3865,
                  "after": 0.3388
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.1751,
                  "after": 0.1535
                },
                {
                  "stat": "goals",
                  "before": 0.1366,
                  "after": 0.1197
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.0977,
                  "after": 0.0856
                }
              ]
            },
            {
              "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.0856,
                "goal_rate": 0.1197,
                "goals": 0,
                "shots_on_target": 0.3388,
                "total_shots": 0.8444,
                "expected_assists": 0.0637,
                "key_pass": 0.6985,
                "rating": 6.7532,
                "minutes": 74.34,
                "total_pass": 21.1665,
                "accurate_pass": 16.786,
                "duels_won": 3.9631,
                "total_long_balls": 2.1276,
                "accurate_long_balls": 1.1876,
                "total_opp_half_passes": 10.5637,
                "accurate_opp_half_passes": 7.6133,
                "crosses_total": 3.2672,
                "crosses_accurate": 0.3901,
                "touches": 42.2238,
                "possession_lost": 12.1523,
                "dispossessed": 0.343,
                "duels_lost": 4.1631,
                "aerial_lost": 0.6878,
                "total_contest": 1.9182,
                "won_contest": 0.7219,
                "ball_recovery": 3.7534,
                "challenges_lost": 0.9533,
                "fouls": 1.0716,
                "fouls_drawn": 0.9844,
                "assist_rate": 0.0462,
                "assists": 0,
                "interceptions": 0.7751,
                "tackles_won": 1.0232,
                "tackles": 1.7693,
                "clearances": 0.9944,
                "blocks": 0.0793,
                "big_chances_created": 0.0721,
                "big_chances_missed": 0.1535,
                "xgot": 0.0261,
                "offsides": 0.203,
                "ball_carries": 11.7593,
                "total_progression": 66.5826,
                "progressive_carries": 2.3046,
                "shots_off_target": 0.5056,
                "duel_xg_multiplier": 0.8765,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.1305,
                "goal_rate": 0.1197,
                "goals": 0,
                "shots_on_target": 0.3388,
                "total_shots": 0.8444,
                "expected_assists": 0.1017,
                "key_pass": 0.6985,
                "rating": 6.7532,
                "minutes": 74.34,
                "total_pass": 21.1665,
                "accurate_pass": 16.786,
                "duels_won": 3.9631,
                "total_long_balls": 2.1276,
                "accurate_long_balls": 1.1876,
                "total_opp_half_passes": 10.5637,
                "accurate_opp_half_passes": 7.6133,
                "crosses_total": 3.2672,
                "crosses_accurate": 0.3901,
                "touches": 42.2238,
                "possession_lost": 12.1523,
                "dispossessed": 0.343,
                "duels_lost": 4.1631,
                "aerial_lost": 0.6878,
                "total_contest": 1.9182,
                "won_contest": 0.7219,
                "ball_recovery": 3.7534,
                "challenges_lost": 0.9533,
                "fouls": 1.0716,
                "fouls_drawn": 0.9844,
                "assist_rate": 0.0462,
                "assists": 0,
                "interceptions": 0.7751,
                "tackles_won": 1.0232,
                "tackles": 1.7693,
                "clearances": 0.9944,
                "blocks": 0.0793,
                "big_chances_created": 0.0721,
                "big_chances_missed": 0.1535,
                "xgot": 0.0398,
                "offsides": 0.203,
                "ball_carries": 11.7593,
                "total_progression": 66.5826,
                "progressive_carries": 2.3046,
                "shots_off_target": 0.5056,
                "duel_xg_multiplier": 0.8765,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "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.8461
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0856,
                  "after": 0.1305
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0637,
                  "after": 0.1017
                }
              ]
            },
            {
              "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": {
                "expected_goals": 0.1305,
                "goal_rate": 0.1197,
                "goals": 0,
                "shots_on_target": 0.3388,
                "total_shots": 0.8444,
                "expected_assists": 0.1017,
                "key_pass": 0.6985,
                "rating": 6.7532,
                "minutes": 74.34,
                "total_pass": 21.1665,
                "accurate_pass": 16.786,
                "duels_won": 3.9631,
                "total_long_balls": 2.1276,
                "accurate_long_balls": 1.1876,
                "total_opp_half_passes": 10.5637,
                "accurate_opp_half_passes": 7.6133,
                "crosses_total": 3.2672,
                "crosses_accurate": 0.3901,
                "touches": 42.2238,
                "possession_lost": 12.1523,
                "dispossessed": 0.343,
                "duels_lost": 4.1631,
                "aerial_lost": 0.6878,
                "total_contest": 1.9182,
                "won_contest": 0.7219,
                "ball_recovery": 3.7534,
                "challenges_lost": 0.9533,
                "fouls": 1.0716,
                "fouls_drawn": 0.9844,
                "assist_rate": 0.0462,
                "assists": 0,
                "interceptions": 0.7751,
                "tackles_won": 1.0232,
                "tackles": 1.7693,
                "clearances": 0.9944,
                "blocks": 0.0793,
                "big_chances_created": 0.0721,
                "big_chances_missed": 0.1535,
                "xgot": 0.0398,
                "offsides": 0.203,
                "ball_carries": 11.7593,
                "total_progression": 66.5826,
                "progressive_carries": 2.3046,
                "shots_off_target": 0.5056,
                "duel_xg_multiplier": 0.8765,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "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.8461,
                "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": 1659,
                "fifa_rank": 1216.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": {
                "expected_goals": 0.1305,
                "goal_rate": 0.1197,
                "goals": 0,
                "shots_on_target": 0.3388,
                "total_shots": 0.8444,
                "expected_assists": 0.1017,
                "key_pass": 0.6985,
                "rating": 6.7532,
                "minutes": 74.34,
                "total_pass": 21.1665,
                "accurate_pass": 16.786,
                "duels_won": 3.9631,
                "total_long_balls": 2.1276,
                "accurate_long_balls": 1.1876,
                "total_opp_half_passes": 10.5637,
                "accurate_opp_half_passes": 7.6133,
                "crosses_total": 3.2672,
                "crosses_accurate": 0.3901,
                "touches": 42.2238,
                "possession_lost": 12.1523,
                "dispossessed": 0.343,
                "duels_lost": 4.1631,
                "aerial_lost": 0.6878,
                "total_contest": 1.9182,
                "won_contest": 0.7219,
                "ball_recovery": 3.7534,
                "challenges_lost": 0.9533,
                "fouls": 1.0716,
                "fouls_drawn": 0.9844,
                "assist_rate": 0.0462,
                "assists": 0,
                "interceptions": 0.7751,
                "tackles_won": 1.0232,
                "tackles": 1.7693,
                "clearances": 0.9944,
                "blocks": 0.0793,
                "big_chances_created": 0.0721,
                "big_chances_missed": 0.1535,
                "xgot": 0.0398,
                "offsides": 0.203,
                "ball_carries": 11.7593,
                "total_progression": 66.5826,
                "progressive_carries": 2.3046,
                "shots_off_target": 0.5056,
                "duel_xg_multiplier": 0.8765,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.1223,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 0.8461,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1223,
                "goal_rate": 0.1197,
                "scorer_weight": 0.1631,
                "squad_weight_total": 1.4144,
                "weight_share": 0.1153,
                "finishing_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.1305,
                "goal_rate": 0.1197,
                "goals": 0,
                "shots_on_target": 0.3388,
                "total_shots": 0.8444,
                "expected_assists": 0.1017,
                "key_pass": 0.6985,
                "rating": 6.7532,
                "minutes": 74.34,
                "total_pass": 21.1665,
                "accurate_pass": 16.786,
                "duels_won": 3.9631,
                "total_long_balls": 2.1276,
                "accurate_long_balls": 1.1876,
                "total_opp_half_passes": 10.5637,
                "accurate_opp_half_passes": 7.6133,
                "crosses_total": 3.2672,
                "crosses_accurate": 0.3901,
                "touches": 42.2238,
                "possession_lost": 12.1523,
                "dispossessed": 0.343,
                "duels_lost": 4.1631,
                "aerial_lost": 0.6878,
                "total_contest": 1.9182,
                "won_contest": 0.7219,
                "ball_recovery": 3.7534,
                "challenges_lost": 0.9533,
                "fouls": 1.0716,
                "fouls_drawn": 0.9844,
                "assist_rate": 0.0462,
                "assists": 0,
                "interceptions": 0.7751,
                "tackles_won": 1.0232,
                "tackles": 1.7693,
                "clearances": 0.9944,
                "blocks": 0.0793,
                "big_chances_created": 0.0721,
                "big_chances_missed": 0.1535,
                "xgot": 0.0398,
                "offsides": 0.203,
                "ball_carries": 11.7593,
                "total_progression": 66.5826,
                "progressive_carries": 2.3046,
                "shots_off_target": 0.5056,
                "duel_xg_multiplier": 0.8765,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Kike Salas, Marcão",
                "opponent_faced": "Kike Salas, Marcão",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.1223,
                "projected_assists": 0,
                "assist_probability": 0.0967,
                "finishing_factor": 1.25,
                "creation_factor": 0.8461,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0967,
                "assist_rate": 0.0462,
                "provider_weight": 0.086,
                "squad_weight_total": 0.8284,
                "weight_share": 0.1039,
                "creation_factor": 0.8461,
                "appearance_weight": 1.0,
                "weight_rank": 4,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "bench_players": {
        "Grégoire Swiderski": {
          "player_id": 1440572,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 31,
          "height": 187,
          "market_value": 240000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.022,
            "rating": 6.8,
            "minutes": 4,
            "total_pass": 1,
            "accurate_pass": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "touches": 2,
            "clearances": 0,
            "ball_recovery": 0,
            "high_claims": 0,
            "punches": 0.0146,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.1171,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "bench_appearance_probability": 0.109,
            "bench_expected_minutes": 4.39,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "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": null
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": null,
            "combined_rank_score": null,
            "ranking_source": "missing_player_rankings_csv_row",
            "ranking_status": "missing",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": null,
            "fifa_rank": null,
            "fifa_overall": null,
            "fifa_source": null,
            "match_squad_rank": 5,
            "squad_role": "substitute",
            "ranking_match": "none",
            "projected_match_rating": 6.8,
            "source_file": "data/player_rankings.csv",
            "player_name": "Grégoire Swiderski",
            "ranking_neighbors": {
              "upper": [],
              "lower": []
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "G_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 4.392222187561249,
            "bench_appearance_prob": 0.10873737216187492,
            "market_value_adjustment": 0.4374,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "sub_appearances": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection from market-value prior (€240,000) scaled to 4.4 expected mins; FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position G (quality 0.44)",
              "stats": {
                "saves": 2.9,
                "goals_prevented": 0.45,
                "rating": 6.8,
                "minutes": 90.0,
                "total_pass": 27.0,
                "accurate_pass": 20.0,
                "total_long_balls": 8.0,
                "accurate_long_balls": 4.0,
                "touches": 32.0,
                "clearances": 0.9,
                "ball_recovery": 1.2,
                "high_claims": 0.5,
                "punches": 0.3,
                "aerial_won": 0.6,
                "sweeper_actions": 1.2,
                "sweeper_accurate": 0.7,
                "saves_inside_box": 1.2,
                "possession_lost": 2.4,
                "duels_won": 0.4,
                "duels_lost": 0.2,
                "total_contest": 0.4,
                "won_contest": 0.2,
                "fouls": 0.2,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 21.0,
                "accurate_own_half_passes": 16.0
              },
              "params": {
                "market_value_eur": 240000,
                "quality_factor": 0.4374
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 90.0 to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0.1415,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4.39,
                "total_pass": 1.3177,
                "accurate_pass": 0.976,
                "total_long_balls": 0.3904,
                "accurate_long_balls": 0.1952,
                "touches": 1.5617,
                "clearances": 0.0439,
                "ball_recovery": 0.0586,
                "high_claims": 0.0244,
                "punches": 0.0146,
                "aerial_won": 0.0293,
                "sweeper_actions": 0.0586,
                "sweeper_accurate": 0.0342,
                "saves_inside_box": 0.0586,
                "possession_lost": 0.1171,
                "duels_won": 0.0195,
                "duels_lost": 0.0098,
                "total_contest": 0.0195,
                "won_contest": 0.0098,
                "fouls": 0.0098,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.0249,
                "accurate_own_half_passes": 0.7808,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              },
              "params": {
                "expected_minutes": 4.39,
                "projection_minutes": 90.0,
                "minutes_scale": 0.0488,
                "appearance_probability": 0.109
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0.1415,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4.39,
                "total_pass": 1.3177,
                "accurate_pass": 0.976,
                "total_long_balls": 0.3904,
                "accurate_long_balls": 0.1952,
                "touches": 1.5617,
                "clearances": 0.0439,
                "ball_recovery": 0.0586,
                "high_claims": 0.0244,
                "punches": 0.0146,
                "aerial_won": 0.0293,
                "sweeper_actions": 0.0586,
                "sweeper_accurate": 0.0342,
                "saves_inside_box": 0.0586,
                "possession_lost": 0.1171,
                "duels_won": 0.0195,
                "duels_lost": 0.0098,
                "total_contest": 0.0195,
                "won_contest": 0.0098,
                "fouls": 0.0098,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.0249,
                "accurate_own_half_passes": 0.7808,
                "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.1415,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4.39,
                "total_pass": 1.3177,
                "accurate_pass": 0.976,
                "total_long_balls": 0.3904,
                "accurate_long_balls": 0.1952,
                "touches": 1.5617,
                "clearances": 0.0439,
                "ball_recovery": 0.0586,
                "high_claims": 0.0244,
                "punches": 0.0146,
                "aerial_won": 0.0293,
                "sweeper_actions": 0.0586,
                "sweeper_accurate": 0.0342,
                "saves_inside_box": 0.0586,
                "possession_lost": 0.1171,
                "duels_won": 0.0195,
                "duels_lost": 0.0098,
                "total_contest": 0.0195,
                "won_contest": 0.0098,
                "fouls": 0.0098,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.0249,
                "accurate_own_half_passes": 0.7808,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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": 4,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 5 by projected rating, fifa_overall n/a)",
              "stats": {
                "saves": 0.1415,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4.39,
                "total_pass": 1.3177,
                "accurate_pass": 0.976,
                "total_long_balls": 0.3904,
                "accurate_long_balls": 0.1952,
                "touches": 1.5617,
                "clearances": 0.0439,
                "ball_recovery": 0.0586,
                "high_claims": 0.0244,
                "punches": 0.0146,
                "aerial_won": 0.0293,
                "sweeper_actions": 0.0586,
                "sweeper_accurate": 0.0342,
                "saves_inside_box": 0.0586,
                "possession_lost": 0.1171,
                "duels_won": 0.0195,
                "duels_lost": 0.0098,
                "total_contest": 0.0195,
                "won_contest": 0.0098,
                "fouls": 0.0098,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.0249,
                "accurate_own_half_passes": 0.7808,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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": null
              },
              "params": {
                "match_squad_rank": 5,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "missing_player_rankings_csv_row",
                "ranking_status": "missing",
                "ranking_match": "none"
              }
            }
          ]
        },
        "Youssef Enriquez": {
          "player_id": 1403364,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 3,
          "height": 170,
          "market_value": 5300000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.649,
            "minutes": 14,
            "total_pass": 5,
            "accurate_pass": 4,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 11,
            "possession_lost": 2.5947,
            "dispossessed": 0.1291,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0079,
            "expected_assists": 0.021,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0072,
            "ball_carries": 2,
            "total_progression": 10,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.304,
            "bench_expected_minutes": 13.68,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "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": 83.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0021,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 21,
                "accurate_pass": 17,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 4,
                "aerial_won": 0,
                "duels_won": 5,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 35,
                "rating": 6.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.014,
                "expected_assists": 0.0073,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 20,
                "accurate_pass": 17,
                "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.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 25,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3,
                "interceptions": 1,
                "clearances": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 23,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0182,
                "expected_assists": 0.0057,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 5,
                "accurate_pass": 4,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 19,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0338,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 13,
                "key_pass": 1,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 36,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 4,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 4,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 20,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0741,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 15,
                "key_pass": 1,
                "tackles": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421047.0,
              "match_date": "2026-08-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 25,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0674,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 8,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083692.0,
              "match_date": "2026-05-17",
              "home_team": "Real Oviedo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0552,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 4,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083578.0,
              "match_date": "2026-05-09",
              "home_team": "Elche",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Elche",
              "stats": {
                "minutes": 23,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0189,
                "expected_assists": 0.3396,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 2,
                "accurate_pass": 1,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 413,
            "combined_rank_score": 283.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 257.0,
            "sofascore_rating": 7.1,
            "sofascore_appearances": 3.0,
            "fifa_rank": 310.0,
            "fifa_overall": 83.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.649,
            "source_file": "data/player_rankings.csv",
            "player_name": "Youssef Enriquez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jun-sang Lee",
                  "ranking": 408
                },
                {
                  "player_name": "Boburbek Yuldashov",
                  "ranking": 409
                },
                {
                  "player_name": "Dor Peretz",
                  "ranking": 410
                },
                {
                  "player_name": "Itsuki Urata",
                  "ranking": 411
                },
                {
                  "player_name": "Chi-Won Choi",
                  "ranking": 412
                }
              ],
              "lower": [
                {
                  "player_name": "Beom Song",
                  "ranking": 414
                },
                {
                  "player_name": "Irakli Azarovi",
                  "ranking": 415
                },
                {
                  "player_name": "Alexander Freeman",
                  "ranking": 416
                },
                {
                  "player_name": "Johaneko Louis Jean",
                  "ranking": 417
                },
                {
                  "player_name": "Roman Begunov",
                  "ranking": 418
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 33,
          "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": 33,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 13.684825411466107,
            "bench_appearance_prob": 0.3038557005211867,
            "market_value_adjustment": 0.9985,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (33 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.28,
                "tackles": 0.4836,
                "tackles_won": 0.299,
                "clearances": 0.8442,
                "aerial_won": 0.3465,
                "total_shots": 0.1756,
                "rating": 6.649,
                "minutes": 26.17,
                "total_pass": 10.5022,
                "accurate_pass": 8.4225,
                "duels_won": 1.4458,
                "total_long_balls": 1.6745,
                "accurate_long_balls": 0.5493,
                "total_own_half_passes": 4.7893,
                "accurate_own_half_passes": 4.1744,
                "total_opp_half_passes": 5.7129,
                "accurate_opp_half_passes": 4.2481,
                "crosses_total": 1.9716,
                "crosses_accurate": 0.5191,
                "touches": 20.9347,
                "possession_lost": 4.9694,
                "dispossessed": 0.1293,
                "duels_lost": 1.3694,
                "aerial_lost": 0.0428,
                "total_contest": 0.5271,
                "won_contest": 0.2307,
                "ball_recovery": 0.6876,
                "challenges_lost": 0.1586,
                "fouls": 0.7423,
                "fouls_drawn": 0.3362,
                "blocks": 0.082,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0152,
                "expected_assists": 0.0403,
                "shots_on_target": 0.0691,
                "big_chances_created": 0.0851,
                "xgot": 0.0138,
                "ball_carries": 4.4,
                "total_progression": 19.8617,
                "progressive_carries": 0.1875,
                "key_pass": 0.3861,
                "shots_off_target": 0.1065
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1507,
                    "rating": 5.7
                  },
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 0.1281,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 25.0,
                    "is_starting": false,
                    "weight": 0.1089,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.0926,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.0787,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 0.0669,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.0568,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Getafe",
                    "minutes": 25.0,
                    "is_starting": false,
                    "weight": 0.0483,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Real Oviedo",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0411,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Elche",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.0349,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 1.7222,
                  "aerialWon": 0.2433,
                  "totalClearance_p90": 3.5982,
                  "totalTackle": 0.9355,
                  "totalTackle_p90": 2.1911
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.2800471782684326,
                    "model_output": 0.28,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.473
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0504
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0165
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.014
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0078
                        }
                      ],
                      "others": -0.0294,
                      "total": 0.28,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.783023
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.13525
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.048685
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.04317
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.024767
                        }
                      ],
                      "others_margin": -0.099933
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.48357272148132324,
                    "model_output": 0.4836,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.8354
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0318
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0176
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0164
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0156
                        }
                      ],
                      "others": -0.0223,
                      "total": 0.4836,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.921575
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.059342
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.03321
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.031058
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.03047
                        }
                      ],
                      "others_margin": -0.044822
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.2989826202392578,
                    "model_output": 0.299,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.5102
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0242
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0125
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0092
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0092
                        }
                      ],
                      "others": -0.0207,
                      "total": 0.299,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.920018
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.074144
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.040521
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.030199
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.029209
                        }
                      ],
                      "others_margin": -0.06748
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 0.8441833853721619,
                    "model_output": 0.8442,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.1525
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.2662
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.081
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0567
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.033
                        }
                      ],
                      "others": 0.0179,
                      "total": 0.8442,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.994748
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.236634
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.08477
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.063949
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.039198
                        }
                      ],
                      "others_margin": 0.02153
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.3465025722980499,
                    "model_output": 0.3465,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7582
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.2284
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0308
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0236
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0191
                        }
                      ],
                      "others": -0.0013,
                      "total": 0.3465,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.806454
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.467741
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.083936
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.069443
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.056558
                        }
                      ],
                      "others_margin": -0.003445
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.1755989044904709,
                    "model_output": 0.1756,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2048
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0648
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0179
                        },
                        {
                          "name": "aerialLost",
                          "contribution": 0.0139
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0131
                        }
                      ],
                      "others": -0.0189,
                      "total": 0.1756,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.20476
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.064802
                        },
                        {
                          "name": "rating",
                          "margin": -0.017918
                        },
                        {
                          "name": "aerialLost",
                          "margin": 0.01389
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.013132
                        }
                      ],
                      "others_margin": -0.018927
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.649008274078369,
                    "model_output": 6.649,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": -0.0461
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0211
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0211
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0167
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0136
                        }
                      ],
                      "others": -0.0312,
                      "total": 6.649,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": -0.046139
                        },
                        {
                          "name": "rating",
                          "margin": -0.021067
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.021059
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.016742
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.013596
                        }
                      ],
                      "others_margin": -0.03117
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 33,
                  "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.9985, quality 0.466)",
              "stats": {
                "interceptions": 0.2796,
                "tackles": 0.4828,
                "tackles_won": 0.2985,
                "clearances": 0.8429,
                "aerial_won": 0.346,
                "total_shots": 0.1753,
                "rating": 6.649,
                "minutes": 26.17,
                "total_pass": 10.4864,
                "accurate_pass": 8.4099,
                "duels_won": 1.4436,
                "total_long_balls": 1.672,
                "accurate_long_balls": 0.5485,
                "total_own_half_passes": 4.7821,
                "accurate_own_half_passes": 4.1681,
                "total_opp_half_passes": 5.7043,
                "accurate_opp_half_passes": 4.2417,
                "crosses_total": 1.9686,
                "crosses_accurate": 0.5183,
                "touches": 20.9033,
                "possession_lost": 4.9619,
                "dispossessed": 0.1291,
                "duels_lost": 1.3673,
                "aerial_lost": 0.0427,
                "total_contest": 0.5263,
                "won_contest": 0.2304,
                "ball_recovery": 0.6866,
                "challenges_lost": 0.1584,
                "fouls": 0.7412,
                "fouls_drawn": 0.3357,
                "blocks": 0.0819,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0152,
                "expected_assists": 0.0402,
                "shots_on_target": 0.069,
                "big_chances_created": 0.085,
                "xgot": 0.0138,
                "ball_carries": 4.3934,
                "total_progression": 19.8319,
                "progressive_carries": 0.1872,
                "key_pass": 0.3855,
                "shots_off_target": 0.1063
              },
              "params": {
                "market_value_eur": 5300000,
                "quality_factor": 0.4659,
                "boost_factor": 0.9985,
                "reference_quality": 0.505,
                "history_matches": 33,
                "history_shrink": 0.1316,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 26.2 to 13.7 expected minutes (appearance prob 0.30)",
              "stats": {
                "interceptions": 0.1462,
                "tackles": 0.2525,
                "tackles_won": 0.1561,
                "clearances": 0.4408,
                "aerial_won": 0.1809,
                "total_shots": 0.0917,
                "rating": 6.649,
                "minutes": 13.68,
                "total_pass": 5.4836,
                "accurate_pass": 4.3977,
                "duels_won": 0.7549,
                "total_long_balls": 0.8743,
                "accurate_long_balls": 0.2868,
                "total_own_half_passes": 2.5007,
                "accurate_own_half_passes": 2.1796,
                "total_opp_half_passes": 2.9829,
                "accurate_opp_half_passes": 2.2181,
                "crosses_total": 1.0294,
                "crosses_accurate": 0.271,
                "touches": 10.9308,
                "possession_lost": 2.5947,
                "dispossessed": 0.1291,
                "duels_lost": 0.715,
                "aerial_lost": 0.0427,
                "total_contest": 0.2752,
                "won_contest": 0.1205,
                "ball_recovery": 0.359,
                "challenges_lost": 0.1584,
                "fouls": 0.3876,
                "fouls_drawn": 0.1755,
                "blocks": 0.0428,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0079,
                "expected_assists": 0.021,
                "shots_on_target": 0.0361,
                "big_chances_created": 0.0444,
                "xgot": 0.0072,
                "ball_carries": 2.2974,
                "total_progression": 10.3705,
                "progressive_carries": 0.0979,
                "key_pass": 0.2016,
                "shots_off_target": 0.0556,
                "bench_appearance_probability": 0.304,
                "bench_expected_minutes": 13.68
              },
              "params": {
                "expected_minutes": 13.68,
                "projection_minutes": 26.17,
                "minutes_scale": 0.5229,
                "appearance_probability": 0.304
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.1462,
                "tackles": 0.2525,
                "tackles_won": 0.1561,
                "clearances": 0.4408,
                "aerial_won": 0.1809,
                "total_shots": 0.0917,
                "rating": 6.649,
                "minutes": 13.68,
                "total_pass": 5.4836,
                "accurate_pass": 4.3977,
                "duels_won": 0.7549,
                "total_long_balls": 0.8743,
                "accurate_long_balls": 0.2868,
                "total_own_half_passes": 2.5007,
                "accurate_own_half_passes": 2.1796,
                "total_opp_half_passes": 2.9829,
                "accurate_opp_half_passes": 2.2181,
                "crosses_total": 1.0294,
                "crosses_accurate": 0.271,
                "touches": 10.9308,
                "possession_lost": 2.5947,
                "dispossessed": 0.1291,
                "duels_lost": 0.715,
                "aerial_lost": 0.0427,
                "total_contest": 0.2752,
                "won_contest": 0.1205,
                "ball_recovery": 0.359,
                "challenges_lost": 0.1584,
                "fouls": 0.3876,
                "fouls_drawn": 0.1755,
                "blocks": 0.0428,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0079,
                "expected_assists": 0.021,
                "shots_on_target": 0.0361,
                "big_chances_created": 0.0444,
                "xgot": 0.0072,
                "ball_carries": 2.2974,
                "total_progression": 10.3705,
                "progressive_carries": 0.0979,
                "key_pass": 0.2016,
                "shots_off_target": 0.0556,
                "bench_appearance_probability": 0.304,
                "bench_expected_minutes": 13.68
              },
              "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.1462,
                "tackles": 0.2525,
                "tackles_won": 0.1561,
                "clearances": 0.4408,
                "aerial_won": 0.1809,
                "total_shots": 0.0917,
                "rating": 6.649,
                "minutes": 13.68,
                "total_pass": 5.4836,
                "accurate_pass": 4.3977,
                "duels_won": 0.7549,
                "total_long_balls": 0.8743,
                "accurate_long_balls": 0.2868,
                "total_own_half_passes": 2.5007,
                "accurate_own_half_passes": 2.1796,
                "total_opp_half_passes": 2.9829,
                "accurate_opp_half_passes": 2.2181,
                "crosses_total": 1.0294,
                "crosses_accurate": 0.271,
                "touches": 10.9308,
                "possession_lost": 2.5947,
                "dispossessed": 0.1291,
                "duels_lost": 0.715,
                "aerial_lost": 0.0427,
                "total_contest": 0.2752,
                "won_contest": 0.1205,
                "ball_recovery": 0.359,
                "challenges_lost": 0.1584,
                "fouls": 0.3876,
                "fouls_drawn": 0.1755,
                "blocks": 0.0428,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0079,
                "expected_assists": 0.021,
                "shots_on_target": 0.0361,
                "big_chances_created": 0.0444,
                "xgot": 0.0072,
                "ball_carries": 2.2974,
                "total_progression": 10.3705,
                "progressive_carries": 0.0979,
                "key_pass": 0.2016,
                "shots_off_target": 0.0556,
                "bench_appearance_probability": 0.304,
                "bench_expected_minutes": 13.68,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.304,
                "projected_substitutes": 4,
                "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 83.0)",
              "stats": {
                "interceptions": 0.1462,
                "tackles": 0.2525,
                "tackles_won": 0.1561,
                "clearances": 0.4408,
                "aerial_won": 0.1809,
                "total_shots": 0.0917,
                "rating": 6.649,
                "minutes": 13.68,
                "total_pass": 5.4836,
                "accurate_pass": 4.3977,
                "duels_won": 0.7549,
                "total_long_balls": 0.8743,
                "accurate_long_balls": 0.2868,
                "total_own_half_passes": 2.5007,
                "accurate_own_half_passes": 2.1796,
                "total_opp_half_passes": 2.9829,
                "accurate_opp_half_passes": 2.2181,
                "crosses_total": 1.0294,
                "crosses_accurate": 0.271,
                "touches": 10.9308,
                "possession_lost": 2.5947,
                "dispossessed": 0.1291,
                "duels_lost": 0.715,
                "aerial_lost": 0.0427,
                "total_contest": 0.2752,
                "won_contest": 0.1205,
                "ball_recovery": 0.359,
                "challenges_lost": 0.1584,
                "fouls": 0.3876,
                "fouls_drawn": 0.1755,
                "blocks": 0.0428,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0079,
                "expected_assists": 0.021,
                "shots_on_target": 0.0361,
                "big_chances_created": 0.0444,
                "xgot": 0.0072,
                "ball_carries": 2.2974,
                "total_progression": 10.3705,
                "progressive_carries": 0.0979,
                "key_pass": 0.2016,
                "shots_off_target": 0.0556,
                "bench_appearance_probability": 0.304,
                "bench_expected_minutes": 13.68,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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": 83.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": 413,
                "fifa_rank": 310.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 83.0
              }
            }
          ]
        },
        "Carlos Benavídez": {
          "player_id": 873717,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 23,
          "height": 185,
          "market_value": 960000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.6446,
            "minutes": 17,
            "total_pass": 6,
            "accurate_pass": 5,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 2,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 2.1377,
            "dispossessed": 0.3957,
            "duels_lost": 1,
            "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.0092,
            "expected_assists": 0.006,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0054,
            "ball_carries": 3,
            "total_progression": 6,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.602,
            "bench_expected_minutes": 17.11,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0091,
            "projected_assists": 0,
            "assist_probability": 0.006,
            "finishing_factor": 0.8333,
            "creation_factor": 0.8897,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 45,
                "rating": 6.1,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0424,
                "expected_assists": 0.0298,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 12,
                "accurate_pass": 8,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 26,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 75,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0464,
                "expected_assists": 0.0049,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 17,
                "accurate_pass": 15,
                "tackles": 4,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 45,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0637,
                "expected_assists": 0.0132,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 19,
                "accurate_pass": 15,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 3,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 19,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0039,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 4,
                "key_pass": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083706.0,
              "match_date": "2026-05-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 57,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0032,
                "total_shots": 0,
                "total_pass": 14,
                "accurate_pass": 9,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083692.0,
              "match_date": "2026-05-17",
              "home_team": "Real Oviedo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 8,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.03,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 1,
                "interceptions": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083603.0,
              "match_date": "2026-05-13",
              "home_team": "Deportivo Alavés",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 10,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083578.0,
              "match_date": "2026-05-09",
              "home_team": "Elche",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Elche",
              "stats": {
                "minutes": 8,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0301,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 3,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081799.0,
              "match_date": "2026-03-08",
              "home_team": "Valencia",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 30,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 4,
                "tackles": 4,
                "tackles_won": 2,
                "clearances": 3,
                "duels_won": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2159,
            "combined_rank_score": 875.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 816.0,
            "sofascore_rating": 6.6077,
            "sofascore_appearances": 13.0,
            "fifa_rank": 934.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6446,
            "source_file": "data/player_rankings.csv",
            "player_name": "Carlos Benavídez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Artem Dovbyk",
                  "ranking": 2154
                },
                {
                  "player_name": "Ferland Mendy",
                  "ranking": 2155
                },
                {
                  "player_name": "Aidan Simmons",
                  "ranking": 2156
                },
                {
                  "player_name": "Giorgio Scalvini",
                  "ranking": 2157
                },
                {
                  "player_name": "Federico Gatti",
                  "ranking": 2158
                }
              ],
              "lower": [
                {
                  "player_name": "Yunus Akgün",
                  "ranking": 2160
                },
                {
                  "player_name": "Ignacio Vásquez",
                  "ranking": 2161
                },
                {
                  "player_name": "Georgios Vrakas",
                  "ranking": 2162
                },
                {
                  "player_name": "Kristoffer Ajer",
                  "ranking": 2163
                },
                {
                  "player_name": "Stefan Posch",
                  "ranking": 2164
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.752,
          "history_matches": 18,
          "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": 18,
            "data_confidence": 0.752,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 17.11,
            "bench_appearance_prob": 0.602,
            "market_value_adjustment": 0.9956,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 20.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0133
            },
            "rationale": "Bench projection scaled from XGBoost D_service (18 historical appearances) to 17.1 expected mins (appearance prob 0.60); FBref playing time empirical prior: 1.0 sub appearances, 20.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.3804,
                "tackles": 0.6725,
                "tackles_won": 0.4207,
                "clearances": 0.7532,
                "aerial_won": 0.3114,
                "total_shots": 0.168,
                "rating": 6.6446,
                "minutes": 23.79,
                "total_pass": 8.7637,
                "accurate_pass": 6.7983,
                "duels_won": 1.5667,
                "total_long_balls": 1.0589,
                "accurate_long_balls": 0.5995,
                "total_own_half_passes": 2.4955,
                "accurate_own_half_passes": 2.1819,
                "total_opp_half_passes": 6.2682,
                "accurate_opp_half_passes": 4.6164,
                "crosses_total": 0.2341,
                "crosses_accurate": 0.0891,
                "touches": 13.6486,
                "possession_lost": 2.9854,
                "dispossessed": 0.3974,
                "duels_lost": 1.7597,
                "aerial_lost": 0.4117,
                "total_contest": 0.3733,
                "won_contest": 0.145,
                "ball_recovery": 1.1391,
                "challenges_lost": 0.1706,
                "fouls": 0.5516,
                "fouls_drawn": 0.4017,
                "blocks": 0.2275,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.014,
                "expected_assists": 0.0086,
                "shots_on_target": 0.0286,
                "big_chances_created": 0.0,
                "xgot": 0.0082,
                "ball_carries": 3.661,
                "total_progression": 8.3469,
                "progressive_carries": 0.2821,
                "key_pass": 0.2119,
                "shots_off_target": 0.1394
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1585,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 26.0,
                    "is_starting": false,
                    "weight": 0.1347,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 75.0,
                    "is_starting": true,
                    "weight": 0.1145,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0973,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.0827,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Rayo Vallecano",
                    "minutes": 57.0,
                    "is_starting": false,
                    "weight": 0.0703,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Real Oviedo",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.0598,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-13",
                    "opponent": "FC Barcelona",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.0508,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Elche",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.0432,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-03-08",
                    "opponent": "Valencia",
                    "minutes": 30.0,
                    "is_starting": true,
                    "weight": 0.0367,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 18.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 0.9334,
                  "aerialWon": 0.2681,
                  "totalClearance_p90": 2.4533,
                  "totalTackle": 1.0318,
                  "totalTackle_p90": 3.3839
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.380437433719635,
                    "model_output": 0.3804,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4428
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0239
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0186
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0117
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0092
                        }
                      ],
                      "others": 0.0155,
                      "total": 0.3804,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.709925
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.057483
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.04714
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.030834
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.025002
                        }
                      ],
                      "others_margin": 0.04192
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.6724844574928284,
                    "model_output": 0.6725,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7768
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0348
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0254
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0171
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0162
                        }
                      ],
                      "others": 0.0025,
                      "total": 0.6725,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.820611
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.055416
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.038632
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.025758
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.024497
                        }
                      ],
                      "others_margin": 0.003546
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.4206598699092865,
                    "model_output": 0.4207,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4648
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0218
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0169
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0131
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0123
                        }
                      ],
                      "others": -0.0268,
                      "total": 0.4207,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.794126
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.055239
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.040961
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.030603
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.027943
                        }
                      ],
                      "others_margin": -0.061937
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 0.75318843126297,
                    "model_output": 0.7532,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.1293
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.2984
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.1032
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.068
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0526
                        }
                      ],
                      "others": -0.011,
                      "total": 0.7532,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.976569
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.263956
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.110325
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.079997
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.066569
                        }
                      ],
                      "others_margin": -0.014407
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.31143224239349365,
                    "model_output": 0.3114,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7624
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.214
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0399
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0205
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0186
                        }
                      ],
                      "others": -0.0401,
                      "total": 0.3114,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.813259
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.434402
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.106853
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.059716
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.0544
                        }
                      ],
                      "others_margin": -0.121339
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.16801504790782928,
                    "model_output": 0.168,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2313
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0246
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0207
                        },
                        {
                          "name": "rating",
                          "contribution": -0.018
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0147
                        }
                      ],
                      "others": -0.0039,
                      "total": 0.168,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.231259
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.024592
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.020726
                        },
                        {
                          "name": "rating",
                          "margin": -0.018025
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.014725
                        }
                      ],
                      "others_margin": -0.003906
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.64457368850708,
                    "model_output": 6.6446,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": -0.0429
                        },
                        {
                          "name": "rating",
                          "contribution": -0.022
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0195
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0183
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0128
                        }
                      ],
                      "others": -0.0387,
                      "total": 6.6446,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": -0.04295
                        },
                        {
                          "name": "rating",
                          "margin": -0.022049
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.019459
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.018301
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.012817
                        }
                      ],
                      "others_margin": -0.038631
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 18,
                  "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 0.9956, quality 0.437)",
              "stats": {
                "interceptions": 0.3788,
                "tackles": 0.6695,
                "tackles_won": 0.4188,
                "clearances": 0.7499,
                "aerial_won": 0.3101,
                "total_shots": 0.1673,
                "rating": 6.6446,
                "minutes": 23.79,
                "total_pass": 8.7251,
                "accurate_pass": 6.7684,
                "duels_won": 1.5598,
                "total_long_balls": 1.0542,
                "accurate_long_balls": 0.5969,
                "total_own_half_passes": 2.4845,
                "accurate_own_half_passes": 2.1723,
                "total_opp_half_passes": 6.2406,
                "accurate_opp_half_passes": 4.5961,
                "crosses_total": 0.2331,
                "crosses_accurate": 0.0887,
                "touches": 13.5885,
                "possession_lost": 2.9723,
                "dispossessed": 0.3957,
                "duels_lost": 1.752,
                "aerial_lost": 0.4099,
                "total_contest": 0.3717,
                "won_contest": 0.1444,
                "ball_recovery": 1.1341,
                "challenges_lost": 0.1698,
                "fouls": 0.5492,
                "fouls_drawn": 0.3999,
                "blocks": 0.2265,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0139,
                "expected_assists": 0.0086,
                "shots_on_target": 0.0285,
                "big_chances_created": 0.0,
                "xgot": 0.0082,
                "ball_carries": 3.6449,
                "total_progression": 8.3102,
                "progressive_carries": 0.2809,
                "key_pass": 0.211,
                "shots_off_target": 0.1388
              },
              "params": {
                "market_value_eur": 960000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9956,
                "reference_quality": 0.505,
                "history_matches": 18,
                "history_shrink": 0.2174,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0019)",
              "stats": {
                "interceptions": 0.3781,
                "tackles": 0.6695,
                "tackles_won": 0.418,
                "clearances": 0.7499,
                "aerial_won": 0.3101,
                "total_shots": 0.167,
                "rating": 6.6446,
                "minutes": 23.79,
                "total_pass": 8.7251,
                "accurate_pass": 6.7684,
                "duels_won": 1.5598,
                "total_long_balls": 1.0542,
                "accurate_long_balls": 0.5969,
                "total_own_half_passes": 2.4845,
                "accurate_own_half_passes": 2.1723,
                "total_opp_half_passes": 6.2406,
                "accurate_opp_half_passes": 4.5961,
                "crosses_total": 0.2327,
                "crosses_accurate": 0.0887,
                "touches": 13.5885,
                "possession_lost": 2.9723,
                "dispossessed": 0.3957,
                "duels_lost": 1.752,
                "aerial_lost": 0.4099,
                "total_contest": 0.3717,
                "won_contest": 0.1444,
                "ball_recovery": 1.1341,
                "challenges_lost": 0.1698,
                "fouls": 0.5482,
                "fouls_drawn": 0.3991,
                "blocks": 0.2265,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0139,
                "expected_assists": 0.0086,
                "shots_on_target": 0.0284,
                "big_chances_created": 0.0,
                "xgot": 0.0082,
                "ball_carries": 3.6449,
                "total_progression": 8.3102,
                "progressive_carries": 0.2809,
                "key_pass": 0.211,
                "shots_off_target": 0.1388
              },
              "params": {
                "blend_weight": 0.0019,
                "history_matches": 18,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2643,
                "prior_reliability": 0.0133,
                "competition": "La Liga",
                "squad": "Alavés"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 23.8 to 17.1 expected minutes (appearance prob 0.60)",
              "stats": {
                "interceptions": 0.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.01,
                "expected_assists": 0.0062,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0059,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11
              },
              "params": {
                "expected_minutes": 17.11,
                "projection_minutes": 23.79,
                "minutes_scale": 0.7192,
                "appearance_probability": 0.602
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.01,
                "expected_assists": 0.0062,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0059,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.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": {
                "interceptions": 0.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.01,
                "expected_assists": 0.0062,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0059,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "interceptions": 0.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0092,
                "expected_assists": 0.006,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0054,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.8333,
                "creation_factor": 0.8897
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 0.602
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 17 by projected rating, fifa_overall 79.0)",
              "stats": {
                "interceptions": 0.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0092,
                "expected_assists": 0.006,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0054,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.8333,
                "creation_factor": 0.8897,
                "fifa_overall": 79.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 2159,
                "fifa_rank": 934.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.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0092,
                "expected_assists": 0.006,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0054,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0091,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8333,
                "creation_factor": 0.8897,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0091,
                "goal_rate": 0.0,
                "scorer_weight": 0.0077,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0054,
                "finishing_factor": 0.8333,
                "appearance_weight": 0.602,
                "weight_rank": 14,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0092,
                "expected_assists": 0.006,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0054,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0091,
                "projected_assists": 0,
                "assist_probability": 0.006,
                "finishing_factor": 0.8333,
                "creation_factor": 0.8897,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.006,
                "assist_rate": 0.0,
                "provider_weight": 0.0053,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0064,
                "creation_factor": 0.8897,
                "appearance_weight": 0.602,
                "weight_rank": 14,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Ander Guevara": {
          "player_id": 891931,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 6,
          "height": 180,
          "market_value": 2700000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0164,
            "assist_rate": 0.021,
            "assists": 0,
            "expected_goals": 0.0104,
            "goal_rate": 0.0178,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6869,
            "minutes": 10,
            "total_pass": 8,
            "accurate_pass": 7,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 4,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 1.9142,
            "dispossessed": 0.4096,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 12,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.692,
            "bench_expected_minutes": 10.44,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0103,
            "projected_assists": 0,
            "assist_probability": 0.0162,
            "finishing_factor": 1.1319,
            "creation_factor": 1.0957,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 26,
                "accurate_pass": 24,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 8,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0213,
                "expected_assists": 0.0078,
                "total_shots": 1,
                "total_pass": 7,
                "accurate_pass": 7,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 26,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 6,
                "tackles": 1,
                "interceptions": 2,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 32,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 3,
                "clearances": 2,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 11,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0076,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 14,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421047.0,
              "match_date": "2026-08-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083706.0,
              "match_date": "2026-05-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 12,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.006,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 7,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083578.0,
              "match_date": "2026-05-09",
              "home_team": "Elche",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Elche",
              "stats": {
                "minutes": 8,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083364.0,
              "match_date": "2026-05-02",
              "home_team": "Deportivo Alavés",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 28,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1079,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 18,
                "key_pass": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083295.0,
              "match_date": "2026-04-21",
              "home_team": "Real Madrid",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 15,
                "rating": 6.8,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.035,
                "expected_assists": 0.0174,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 19,
                "accurate_pass": 19,
                "key_pass": 2,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 3847,
            "combined_rank_score": 1841.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 796.0,
            "sofascore_rating": 6.624,
            "sofascore_appearances": 25.0,
            "fifa_rank": 2886.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6869,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ander Guevara",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Thierry Correia",
                  "ranking": 3842
                },
                {
                  "player_name": "Anthony Rouault",
                  "ranking": 3843
                },
                {
                  "player_name": "Abner Vinícius",
                  "ranking": 3844
                },
                {
                  "player_name": "Saša Kalajdžić",
                  "ranking": 3845
                },
                {
                  "player_name": "Matthis Abline",
                  "ranking": 3846
                }
              ],
              "lower": [
                {
                  "player_name": "Pablo Pagis",
                  "ranking": 3848
                },
                {
                  "player_name": "Jacob Greaves",
                  "ranking": 3849
                },
                {
                  "player_name": "Martial Godo",
                  "ranking": 3850
                },
                {
                  "player_name": "Tomasz Kędziora",
                  "ranking": 3851
                },
                {
                  "player_name": "Kévin Danois",
                  "ranking": 3852
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "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.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 10.44,
            "bench_appearance_prob": 0.692,
            "market_value_adjustment": 0.9972,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 1.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection scaled from XGBoost M_service (31 historical appearances) to 10.4 expected mins (appearance prob 0.69); FBref playing time empirical prior: 1.0 sub appearances, 1.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.2608,
                "expected_assists": 0.0229,
                "assists": 0.0325,
                "assist_rate": 0.0325,
                "expected_goals": 0.0152,
                "goals": 0.0276,
                "goal_rate": 0.0276,
                "shots_on_target": 0.0557,
                "total_shots": 0.2068,
                "rating": 6.6869,
                "minutes": 16.09,
                "total_pass": 12.1552,
                "accurate_pass": 10.329,
                "duels_won": 0.8766,
                "total_long_balls": 1.1478,
                "accurate_long_balls": 0.8468,
                "total_own_half_passes": 4.496,
                "accurate_own_half_passes": 4.2092,
                "total_opp_half_passes": 7.6592,
                "accurate_opp_half_passes": 6.1198,
                "crosses_total": 0.2719,
                "crosses_accurate": 0.0613,
                "touches": 15.7154,
                "possession_lost": 2.9585,
                "dispossessed": 0.4107,
                "duels_lost": 0.8822,
                "aerial_won": 0.2452,
                "aerial_lost": 0.0787,
                "interceptions": 0.3019,
                "tackles_won": 0.153,
                "tackles": 0.4296,
                "clearances": 0.242,
                "total_contest": 0.157,
                "won_contest": 0.0189,
                "challenges_lost": 0.1154,
                "fouls": 0.1419,
                "fouls_drawn": 0.183,
                "blocks": 0.159,
                "big_chances_created": 0.1063,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 4.6475,
                "total_progression": 19.0356,
                "progressive_carries": 0.3631,
                "shots_off_target": 0.151
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.151,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.1283,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 26.0,
                    "is_starting": false,
                    "weight": 0.1091,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0927,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.0788,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Getafe",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.067,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Rayo Vallecano",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.0569,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Elche",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.0484,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Athletic Club",
                    "minutes": 28.0,
                    "is_starting": false,
                    "weight": 0.0411,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-04-21",
                    "opponent": "Real Madrid",
                    "minutes": 15.0,
                    "is_starting": false,
                    "weight": 0.035,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.1914,
                  "creative_index": 0.0965,
                  "expectedGoals": 0.0049,
                  "expectedAssists": 0.0114,
                  "keyPass": 0.2241
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.26078081130981445,
                    "model_output": 0.2608,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4447
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0619
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0471
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0318
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0131
                        }
                      ],
                      "others": -0.0308,
                      "total": 0.2608,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.69224
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.149651
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.131001
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.099265
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.043905
                        }
                      ],
                      "others_margin": -0.111714
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.022859979420900345,
                    "model_output": 0.0229,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.035
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0101
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0068
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0023
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.002
                        }
                      ],
                      "others": -0.0056,
                      "total": 0.0229,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.532858
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.227259
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.188358
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.074146
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.066197
                        }
                      ],
                      "others_margin": -0.220626
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.03249453380703926,
                    "model_output": 0.0325,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0234
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0061
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0049
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0039
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0031
                        }
                      ],
                      "others": -0.0112,
                      "total": 0.0325,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.320876
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.103724
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.09127
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.07897
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.068362
                        }
                      ],
                      "others_margin": -0.30001
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.015231740660965443,
                    "model_output": 0.0152,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0416
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0176
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0083
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0019
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0013
                        }
                      ],
                      "others": -0.0059,
                      "total": 0.0152,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.602857
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.429858
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.291192
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.079797
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.05968
                        }
                      ],
                      "others_margin": -0.333028
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.027598075568675995,
                    "model_output": 0.0276,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0364
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0107
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0081
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0025
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.002
                        }
                      ],
                      "others": -0.0073,
                      "total": 0.0276,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.486042
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.202579
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.185729
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.064569
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.055517
                        }
                      ],
                      "others_margin": -0.23719
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.0557231605052948,
                    "model_output": 0.0557,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1464
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0595
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0181
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0117
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0065
                        }
                      ],
                      "others": -0.02,
                      "total": 0.0557,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.617342
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.426298
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.176268
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.132622
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": -0.08238
                        }
                      ],
                      "others_margin": -0.306361
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.20676910877227783,
                    "model_output": 0.2068,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3199
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2683
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0425
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0387
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0309
                        }
                      ],
                      "others": -0.0778,
                      "total": 0.2068,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.319876
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.268262
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.04253
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.03866
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": -0.030889
                        }
                      ],
                      "others_margin": -0.077951
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.6868896484375,
                    "model_output": 6.6869,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0878
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.043
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0386
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0141
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0118
                        }
                      ],
                      "others": -0.027,
                      "total": 6.6869,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.087831
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.043033
                        },
                        {
                          "name": "rating",
                          "margin": -0.038604
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.014091
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.011754
                        }
                      ],
                      "others_margin": -0.026893
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 31,
                  "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.9972, quality 0.437)",
              "stats": {
                "key_pass": 0.2601,
                "expected_assists": 0.0228,
                "assists": 0.0324,
                "assist_rate": 0.0324,
                "expected_goals": 0.0152,
                "goals": 0.0275,
                "goal_rate": 0.0275,
                "shots_on_target": 0.0556,
                "total_shots": 0.2062,
                "rating": 6.6869,
                "minutes": 16.09,
                "total_pass": 12.1212,
                "accurate_pass": 10.3001,
                "duels_won": 0.8741,
                "total_long_balls": 1.1446,
                "accurate_long_balls": 0.8444,
                "total_own_half_passes": 4.4834,
                "accurate_own_half_passes": 4.1974,
                "total_opp_half_passes": 7.6378,
                "accurate_opp_half_passes": 6.1027,
                "crosses_total": 0.2711,
                "crosses_accurate": 0.0611,
                "touches": 15.6714,
                "possession_lost": 2.9502,
                "dispossessed": 0.4096,
                "duels_lost": 0.8797,
                "aerial_won": 0.2445,
                "aerial_lost": 0.0785,
                "interceptions": 0.3011,
                "tackles_won": 0.1526,
                "tackles": 0.4284,
                "clearances": 0.2413,
                "total_contest": 0.1566,
                "won_contest": 0.0188,
                "challenges_lost": 0.1151,
                "fouls": 0.1415,
                "fouls_drawn": 0.1825,
                "blocks": 0.1586,
                "big_chances_created": 0.106,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 4.6345,
                "total_progression": 18.9823,
                "progressive_carries": 0.3621,
                "shots_off_target": 0.1506
              },
              "params": {
                "market_value_eur": 2700000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9972,
                "reference_quality": 0.505,
                "history_matches": 31,
                "history_shrink": 0.1389,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 16.1 to 10.4 expected minutes (appearance prob 0.69)",
              "stats": {
                "key_pass": 0.1688,
                "expected_assists": 0.0148,
                "assists": 0.021,
                "assist_rate": 0.021,
                "expected_goals": 0.0099,
                "goals": 0.0178,
                "goal_rate": 0.0178,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44
              },
              "params": {
                "expected_minutes": 10.44,
                "projection_minutes": 16.09,
                "minutes_scale": 0.6489,
                "appearance_probability": 0.692
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.1688,
                "expected_assists": 0.0148,
                "assists": 0.021,
                "assist_rate": 0.021,
                "expected_goals": 0.0099,
                "goals": 0.0178,
                "goal_rate": 0.0178,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44
              },
              "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.1688,
                "expected_assists": 0.0148,
                "assist_rate": 0.021,
                "assists": 0,
                "expected_goals": 0.0099,
                "goal_rate": 0.0178,
                "goals": 0,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "key_pass": 0.1688,
                "expected_assists": 0.0164,
                "assist_rate": 0.021,
                "assists": 0,
                "expected_goals": 0.0104,
                "goal_rate": 0.0178,
                "goals": 0,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.1319,
                "creation_factor": 1.0957
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 0.692
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 14 by projected rating, fifa_overall 74.0)",
              "stats": {
                "key_pass": 0.1688,
                "expected_assists": 0.0164,
                "assist_rate": 0.021,
                "assists": 0,
                "expected_goals": 0.0104,
                "goal_rate": 0.0178,
                "goals": 0,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.1319,
                "creation_factor": 1.0957,
                "fifa_overall": 74.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": 3847,
                "fifa_rank": 2886.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": {
                "key_pass": 0.1688,
                "expected_assists": 0.0164,
                "assist_rate": 0.021,
                "assists": 0,
                "expected_goals": 0.0104,
                "goal_rate": 0.0178,
                "goals": 0,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0103,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1319,
                "creation_factor": 1.0957,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0103,
                "goal_rate": 0.0178,
                "scorer_weight": 0.0118,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0083,
                "finishing_factor": 1.1319,
                "appearance_weight": 0.692,
                "weight_rank": 13,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.1688,
                "expected_assists": 0.0164,
                "assist_rate": 0.021,
                "assists": 0,
                "expected_goals": 0.0104,
                "goal_rate": 0.0178,
                "goals": 0,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0103,
                "projected_assists": 0,
                "assist_probability": 0.0162,
                "finishing_factor": 1.1319,
                "creation_factor": 1.0957,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0162,
                "assist_rate": 0.021,
                "provider_weight": 0.018,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0217,
                "creation_factor": 1.0957,
                "appearance_weight": 0.692,
                "weight_rank": 11,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Carles Aleñá": {
          "player_id": 794937,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 10,
          "height": 180,
          "market_value": 2400000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0551,
            "assist_rate": 0.0488,
            "assists": 0,
            "expected_goals": 0.0328,
            "goal_rate": 0.0299,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6995,
            "minutes": 13,
            "total_pass": 7,
            "accurate_pass": 7,
            "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": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 11,
            "possession_lost": 2.5505,
            "dispossessed": 0.8022,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0014,
            "ball_carries": 3,
            "total_progression": 4,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.692,
            "bench_expected_minutes": 13.19,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.032,
            "projected_assists": 0,
            "assist_probability": 0.053,
            "finishing_factor": 0.9852,
            "creation_factor": 0.989,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 45,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1621,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 12,
                "accurate_pass": 10,
                "key_pass": 3,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 62,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0714,
                "expected_assists": 0.0742,
                "total_shots": 1,
                "total_pass": 32,
                "accurate_pass": 28,
                "key_pass": 2,
                "aerial_won": 1,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 11,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 5,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 11,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0065,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 23,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0039,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 5,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 71,
                "rating": 6.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0901,
                "expected_assists": 0.0221,
                "total_shots": 1,
                "total_pass": 30,
                "accurate_pass": 25,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 10,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0106,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421047.0,
              "match_date": "2026-08-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0174,
                "expected_assists": 0.0054,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 9,
                "accurate_pass": 9
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083364.0,
              "match_date": "2026-05-02",
              "home_team": "Deportivo Alavés",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 17,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0495,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 7,
                "tackles": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083202.0,
              "match_date": "2026-04-25",
              "home_team": "Deportivo Alavés",
              "away_team": "Mallorca",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Mallorca",
              "stats": {
                "minutes": 63,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0271,
                "expected_assists": 0.1834,
                "total_shots": 1,
                "total_pass": 23,
                "accurate_pass": 18,
                "key_pass": 3,
                "tackles": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2212,
            "combined_rank_score": 1041.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 822.0,
            "sofascore_rating": 6.6,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1260.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6995,
            "source_file": "data/player_rankings.csv",
            "player_name": "Carles Aleñá",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Darko Velkovski",
                  "ranking": 2207
                },
                {
                  "player_name": "Sandro Wieser",
                  "ranking": 2208
                },
                {
                  "player_name": "Zafar Sadullayev",
                  "ranking": 2209
                },
                {
                  "player_name": "Tyrell Malacia",
                  "ranking": 2210
                },
                {
                  "player_name": "Yeremay Hernández",
                  "ranking": 2211
                }
              ],
              "lower": [
                {
                  "player_name": "Jorge Cestero",
                  "ranking": 2213
                },
                {
                  "player_name": "Wallace Yan",
                  "ranking": 2214
                },
                {
                  "player_name": "Behruz Uktamov",
                  "ranking": 2215
                },
                {
                  "player_name": "Ilkhomzhon Kenzhaev",
                  "ranking": 2216
                },
                {
                  "player_name": "Ravshanbek Yagudin",
                  "ranking": 2217
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.751,
          "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.751,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 13.19,
            "bench_appearance_prob": 0.692,
            "market_value_adjustment": 0.9978,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 6.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "Bench projection scaled from XGBoost M_service (42 historical appearances) to 13.2 expected mins (appearance prob 0.69); FBref playing time empirical prior: 2.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.5398,
                "expected_assists": 0.0689,
                "assists": 0.0674,
                "assist_rate": 0.0674,
                "expected_goals": 0.043,
                "goals": 0.0413,
                "goal_rate": 0.0413,
                "shots_on_target": 0.1668,
                "total_shots": 0.4028,
                "rating": 6.6995,
                "minutes": 18.18,
                "total_pass": 10.3258,
                "accurate_pass": 9.0704,
                "duels_won": 0.9854,
                "total_long_balls": 0.467,
                "accurate_long_balls": 0.3216,
                "total_own_half_passes": 2.4329,
                "accurate_own_half_passes": 2.2796,
                "total_opp_half_passes": 7.8929,
                "accurate_opp_half_passes": 6.7908,
                "crosses_total": 1.4543,
                "crosses_accurate": 0.2959,
                "touches": 15.2867,
                "possession_lost": 3.5232,
                "dispossessed": 0.804,
                "duels_lost": 1.4241,
                "aerial_won": 0.0,
                "aerial_lost": 0.2203,
                "interceptions": 0.0,
                "tackles_won": 0.2812,
                "tackles": 0.3531,
                "clearances": 0.0196,
                "total_contest": 0.3506,
                "won_contest": 0.149,
                "challenges_lost": 0.0271,
                "fouls": 0.171,
                "fouls_drawn": 0.4833,
                "blocks": 0.0,
                "big_chances_created": 0.1386,
                "big_chances_missed": 0.0,
                "xgot": 0.0018,
                "ball_carries": 4.2971,
                "total_progression": 5.2545,
                "progressive_carries": 0.0,
                "shots_off_target": 0.236
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.1085,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.0922,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.0784,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.0566,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Getafe",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0481,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Athletic Club",
                    "minutes": 17.0,
                    "is_starting": false,
                    "weight": 0.0409,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-04-25",
                    "opponent": "Mallorca",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.4761,
                  "creative_index": 0.5133,
                  "expectedGoals": 0.0339,
                  "expectedAssists": 0.0665,
                  "keyPass": 1.1837
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5397757887840271,
                    "model_output": 0.5398,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4699
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0383
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0308
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0233
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.019
                        }
                      ],
                      "others": 0.0461,
                      "total": 0.5398,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.750379
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.08722
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.065082
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.046496
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.037802
                        }
                      ],
                      "others_margin": 0.089078
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.06891559064388275,
                    "model_output": 0.0689,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0362
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0102
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0033
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0032
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0027
                        }
                      ],
                      "others": 0.0074,
                      "total": 0.0689,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.557219
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.190062
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.054353
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.053339
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.045771
                        }
                      ],
                      "others_margin": 0.114422
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06742141395807266,
                    "model_output": 0.0674,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0233
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0071
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0055
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0054
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0054
                        }
                      ],
                      "others": -0.0178,
                      "total": 0.0674,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.319792
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.108072
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.077349
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.069561
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.065676
                        }
                      ],
                      "others_margin": -0.234187
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.04298052564263344,
                    "model_output": 0.043,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0411
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0084
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0039
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0026
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.002
                        }
                      ],
                      "others": 0.0014,
                      "total": 0.043,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.593941
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.182151
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.088912
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.057764
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.047365
                        }
                      ],
                      "others_margin": 0.033264
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.04130317270755768,
                    "model_output": 0.0413,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0389
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0113
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0039
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0039
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0036
                        }
                      ],
                      "others": -0.0073,
                      "total": 0.0413,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.529383
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.226169
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.084647
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.076727
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.071961
                        }
                      ],
                      "others_margin": -0.162291
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.16675999760627747,
                    "model_output": 0.1668,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1153
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0423
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0195
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0178
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0106
                        }
                      ],
                      "others": -0.0024,
                      "total": 0.1668,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.450767
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.234548
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": -0.12953
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.119222
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.064851
                        }
                      ],
                      "others_margin": -0.014341
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.4027893543243408,
                    "model_output": 0.4028,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3709
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2228
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.078
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0428
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.028
                        }
                      ],
                      "others": 0.0044,
                      "total": 0.4028,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.370932
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.222849
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.077953
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": -0.042825
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.027958
                        }
                      ],
                      "others_margin": 0.004465
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.699498653411865,
                    "model_output": 6.6995,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0932
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0405
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0314
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0168
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.013
                        }
                      ],
                      "others": -0.0226,
                      "total": 6.6995,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.09321
                        },
                        {
                          "name": "rating",
                          "margin": -0.040513
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.031416
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.01678
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.012992
                        }
                      ],
                      "others_margin": -0.02254
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 42,
                  "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.9978, quality 0.437)",
              "stats": {
                "key_pass": 0.5386,
                "expected_assists": 0.0688,
                "assists": 0.0673,
                "assist_rate": 0.0673,
                "expected_goals": 0.0429,
                "goals": 0.0412,
                "goal_rate": 0.0412,
                "shots_on_target": 0.1664,
                "total_shots": 0.4019,
                "rating": 6.6995,
                "minutes": 18.18,
                "total_pass": 10.3031,
                "accurate_pass": 9.0504,
                "duels_won": 0.9832,
                "total_long_balls": 0.466,
                "accurate_long_balls": 0.3209,
                "total_own_half_passes": 2.4275,
                "accurate_own_half_passes": 2.2746,
                "total_opp_half_passes": 7.8755,
                "accurate_opp_half_passes": 6.7759,
                "crosses_total": 1.4511,
                "crosses_accurate": 0.2952,
                "touches": 15.2531,
                "possession_lost": 3.5154,
                "dispossessed": 0.8022,
                "duels_lost": 1.421,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2806,
                "tackles": 0.3523,
                "clearances": 0.0196,
                "total_contest": 0.3498,
                "won_contest": 0.1487,
                "challenges_lost": 0.027,
                "fouls": 0.1706,
                "fouls_drawn": 0.4822,
                "blocks": 0.0,
                "big_chances_created": 0.1383,
                "big_chances_missed": 0.0,
                "xgot": 0.0018,
                "ball_carries": 4.2876,
                "total_progression": 5.2429,
                "progressive_carries": 0.0,
                "shots_off_target": 0.2355
              },
              "params": {
                "market_value_eur": 2400000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9978,
                "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.0005)",
              "stats": {
                "key_pass": 0.5386,
                "expected_assists": 0.0688,
                "assists": 0.0673,
                "assist_rate": 0.0673,
                "expected_goals": 0.0429,
                "goals": 0.0412,
                "goal_rate": 0.0412,
                "shots_on_target": 0.167,
                "total_shots": 0.4024,
                "rating": 6.6995,
                "minutes": 18.18,
                "total_pass": 10.3031,
                "accurate_pass": 9.0504,
                "duels_won": 0.9832,
                "total_long_balls": 0.466,
                "accurate_long_balls": 0.3209,
                "total_own_half_passes": 2.4275,
                "accurate_own_half_passes": 2.2746,
                "total_opp_half_passes": 7.8755,
                "accurate_opp_half_passes": 6.7759,
                "crosses_total": 1.4523,
                "crosses_accurate": 0.2952,
                "touches": 15.2531,
                "possession_lost": 3.5154,
                "dispossessed": 0.8022,
                "duels_lost": 1.421,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2814,
                "tackles": 0.3523,
                "clearances": 0.0196,
                "total_contest": 0.3498,
                "won_contest": 0.1487,
                "challenges_lost": 0.027,
                "fouls": 0.1705,
                "fouls_drawn": 0.482,
                "blocks": 0.0,
                "big_chances_created": 0.1383,
                "big_chances_missed": 0.0,
                "xgot": 0.0018,
                "ball_carries": 4.2876,
                "total_progression": 5.2429,
                "progressive_carries": 0.0,
                "shots_off_target": 0.2355
              },
              "params": {
                "blend_weight": 0.0005,
                "history_matches": 42,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.202,
                "prior_reliability": 0.0067,
                "competition": "La Liga",
                "squad": "Alavés"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 18.2 to 13.2 expected minutes (appearance prob 0.69)",
              "stats": {
                "key_pass": 0.3908,
                "expected_assists": 0.0499,
                "assists": 0.0488,
                "assist_rate": 0.0488,
                "expected_goals": 0.0311,
                "goals": 0.0299,
                "goal_rate": 0.0299,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0013,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19
              },
              "params": {
                "expected_minutes": 13.19,
                "projection_minutes": 18.18,
                "minutes_scale": 0.7255,
                "appearance_probability": 0.692
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.3908,
                "expected_assists": 0.0499,
                "assists": 0.0488,
                "assist_rate": 0.0488,
                "expected_goals": 0.0311,
                "goals": 0.0299,
                "goal_rate": 0.0299,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0013,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19
              },
              "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.3908,
                "expected_assists": 0.0499,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0311,
                "goal_rate": 0.0299,
                "goals": 0,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0013,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "key_pass": 0.3908,
                "expected_assists": 0.0551,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0328,
                "goal_rate": 0.0299,
                "goals": 0,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0014,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.9852,
                "creation_factor": 0.989
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 0.692
              },
              "changes": [
                {
                  "stat": "expected_assists",
                  "before": 0.0499,
                  "after": 0.0551
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 13 by projected rating, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0.3908,
                "expected_assists": 0.0551,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0328,
                "goal_rate": 0.0299,
                "goals": 0,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0014,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.9852,
                "creation_factor": 0.989,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 13,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 2212,
                "fifa_rank": 1260.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": {
                "key_pass": 0.3908,
                "expected_assists": 0.0551,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0328,
                "goal_rate": 0.0299,
                "goals": 0,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0014,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.032,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9852,
                "creation_factor": 0.989,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.032,
                "goal_rate": 0.0299,
                "scorer_weight": 0.0323,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0228,
                "finishing_factor": 0.9852,
                "appearance_weight": 0.692,
                "weight_rank": 11,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.3908,
                "expected_assists": 0.0551,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0328,
                "goal_rate": 0.0299,
                "goals": 0,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0014,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.032,
                "projected_assists": 0,
                "assist_probability": 0.053,
                "finishing_factor": 0.9852,
                "creation_factor": 0.989,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.053,
                "assist_rate": 0.0488,
                "provider_weight": 0.0545,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0658,
                "creation_factor": 0.989,
                "appearance_weight": 0.692,
                "weight_rank": 6,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Toni Martínez": {
          "player_id": 831253,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 180,
          "market_value": 7300000,
          "stats": {
            "expected_goals": 0.1382,
            "goal_rate": 0.1464,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0126,
            "key_pass": 0,
            "rating": 6.6377,
            "minutes": 26,
            "total_pass": 6,
            "accurate_pass": 4,
            "duels_won": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 11,
            "possession_lost": 4.0753,
            "dispossessed": 0.0532,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1,
            "offsides": 1,
            "ball_carries": 3,
            "total_progression": 0,
            "progressive_carries": 0,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.338,
            "bench_expected_minutes": 25.5,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "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": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 45,
                "rating": 6.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0607,
                "expected_assists": 0.0033,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 11,
                "accurate_pass": 8,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 1,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 24,
                "rating": 6.6,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4124,
                "expected_assists": 0.0029,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 2,
                "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.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 62,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0954,
                "expected_assists": 0.0053,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 13,
                "accurate_pass": 8,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 4,
                "duels_won": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 64,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0119,
                "expected_assists": 0.004,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 7,
                "accurate_pass": 4,
                "key_pass": 1,
                "aerial_won": 5,
                "duels_won": 7,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 25,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 2,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 67,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1819,
                "expected_assists": 0.0095,
                "total_shots": 3,
                "shots_off_target": 3,
                "total_pass": 11,
                "accurate_pass": 7,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 4,
                "duels_won": 8,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 23,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0527,
                "expected_assists": 0.1076,
                "total_shots": 1,
                "total_pass": 3,
                "accurate_pass": 1,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 54,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 1.3729,
                "expected_assists": 0.0107,
                "total_shots": 4,
                "shots_off_target": 4,
                "total_pass": 12,
                "accurate_pass": 9,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 5,
                "duels_won": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421047.0,
              "match_date": "2026-08-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3202,
                "expected_assists": 0.012,
                "total_shots": 3,
                "shots_off_target": 3,
                "total_pass": 13,
                "accurate_pass": 9,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2078,
            "combined_rank_score": 790.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 345.0,
            "sofascore_rating": 6.9892,
            "sofascore_appearances": 37.0,
            "fifa_rank": 1236.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6377,
            "source_file": "data/player_rankings.csv",
            "player_name": "Toni Martínez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Luiz Júnior",
                  "ranking": 2073
                },
                {
                  "player_name": "Maximiliano Rodríguez",
                  "ranking": 2074
                },
                {
                  "player_name": "Abbos Gulomov",
                  "ranking": 2075
                },
                {
                  "player_name": "Chan-dong Lee",
                  "ranking": 2076
                },
                {
                  "player_name": "Leonardo Spinazzola",
                  "ranking": 2077
                }
              ],
              "lower": [
                {
                  "player_name": "Callum Hudson Odoi",
                  "ranking": 2079
                },
                {
                  "player_name": "Cédric Bakambu",
                  "ranking": 2080
                },
                {
                  "player_name": "Renato Veiga",
                  "ranking": 2081
                },
                {
                  "player_name": "Shodiyor Shodiboev",
                  "ranking": 2082
                },
                {
                  "player_name": "Matija Rom",
                  "ranking": 2083
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.776,
          "history_matches": 47,
          "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": 47,
            "data_confidence": 0.776,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 25.501390997643526,
            "bench_appearance_prob": 0.338,
            "market_value_adjustment": 0.9996,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.1733
            },
            "rationale": "Bench projection scaled from XGBoost F_service (47 historical appearances) to 25.5 expected mins (appearance prob 0.34); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1461,
                "goals": 0.1565,
                "goal_rate": 0.1565,
                "shots_on_target": 0.4784,
                "total_shots": 1.0148,
                "expected_assists": 0.0133,
                "key_pass": 0.3105,
                "rating": 6.6377,
                "minutes": 26.95,
                "total_pass": 6.3509,
                "accurate_pass": 3.9231,
                "duels_won": 2.899,
                "total_long_balls": 0.418,
                "accurate_long_balls": 0.3554,
                "total_opp_half_passes": 4.5818,
                "accurate_opp_half_passes": 2.7018,
                "crosses_total": 0.257,
                "crosses_accurate": 0.1019,
                "touches": 11.9973,
                "possession_lost": 4.3085,
                "dispossessed": 0.0532,
                "duels_lost": 2.2525,
                "aerial_lost": 1.3706,
                "total_contest": 0.5385,
                "won_contest": 0.1252,
                "ball_recovery": 0.7163,
                "challenges_lost": 0.0,
                "fouls": 0.5564,
                "fouls_drawn": 0.745,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0532,
                "tackles_won": 0.1199,
                "tackles": 0.1731,
                "clearances": 0.3895,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.11,
                "xgot": 0.1057,
                "offsides": 0.8106,
                "ball_carries": 2.8521,
                "total_progression": 0.0,
                "progressive_carries": 0.2267,
                "shots_off_target": 0.5364
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:06:26.876327+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 612,
                    "rows": 17180
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1501,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 24.0,
                    "is_starting": false,
                    "weight": 0.1276,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.1084,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 64.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 25.0,
                    "is_starting": false,
                    "weight": 0.0783,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.0566,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 54.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Getafe",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "accuratePass": 6.3246,
                  "expectedGoals": 0.2457,
                  "accurateOppositionHalfPasses": 4.6077,
                  "totalShots": 2.0183,
                  "totalOppositionHalfPasses": 8.2352
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.14613556861877441,
                    "model_output": 0.1461,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2767
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0987
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.036
                      },
                      {
                        "name": "goals",
                        "importance": 0.0336
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.1929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0861
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.012
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0038
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": 0.0037
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0037
                        }
                      ],
                      "others": 0.0161,
                      "total": 0.1461,
                      "log_link": true,
                      "margin_base": -1.645586,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.591464
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.106692
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.031441
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": 0.030071
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.02895
                        }
                      ],
                      "others_margin": 0.116676
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.1564781367778778,
                    "model_output": 0.1565,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1491
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0805
                      },
                      {
                        "name": "goals",
                        "importance": 0.056
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0343
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0288
                      }
                    ],
                    "decomposition": {
                      "base": 0.1972,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0828
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0159
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0085
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0055
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0049
                        }
                      ],
                      "others": 0.0183,
                      "total": 0.1565,
                      "log_link": true,
                      "margin_base": -1.623746,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.544578
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.130535
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.062934
                        },
                        {
                          "name": "goals",
                          "margin": -0.040147
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.036374
                        }
                      ],
                      "others_margin": 0.123789
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.47838732600212097,
                    "model_output": 0.4784,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2173
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0637
                      },
                      {
                        "name": "goals",
                        "importance": 0.0596
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0393
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.5269,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1985
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0261
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0219
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0182
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.018
                        }
                      ],
                      "others": 0.0658,
                      "total": 0.4784,
                      "log_link": true,
                      "margin_base": -0.640773,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.472836
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.076526
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.059892
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.047177
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.044555
                        }
                      ],
                      "others_margin": 0.148124
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.0147583484649658,
                    "model_output": 1.0148,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.3005
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0627
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0526
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0309
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0307
                      }
                    ],
                    "decomposition": {
                      "base": 1.3756,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.634
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1038
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.043
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0379
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0321
                        }
                      ],
                      "others": 0.1206,
                      "total": 1.0148,
                      "log_link": false,
                      "margin_base": 1.375643,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.634044
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.103762
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.042965
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.037888
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.032093
                        }
                      ],
                      "others_margin": 0.120637
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.013297985307872295,
                    "model_output": 0.0133,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1287
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1119
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0634
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.051
                      }
                    ],
                    "decomposition": {
                      "base": 0.065,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0227
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0062
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0052
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0031
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0024
                        }
                      ],
                      "others": -0.0121,
                      "total": 0.0133,
                      "log_link": true,
                      "margin_base": -2.733324,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.429061
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.157893
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.156213
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.104786
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.090932
                        }
                      ],
                      "others_margin": -0.647933
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.3104657232761383,
                    "model_output": 0.3105,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1579
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1341
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0953
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.069
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0295
                      }
                    ],
                    "decomposition": {
                      "base": 0.6917,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2444
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0366
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0191
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0173
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.016
                        }
                      ],
                      "others": -0.0478,
                      "total": 0.3105,
                      "log_link": true,
                      "margin_base": -0.368585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.435861
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.085281
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.047715
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.045134
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.043695
                        }
                      ],
                      "others_margin": -0.143413
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.637712001800537,
                    "model_output": 6.6377,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.048
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0462
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0455
                      },
                      {
                        "name": "rating",
                        "importance": 0.0455
                      }
                    ],
                    "decomposition": {
                      "base": 6.7733,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0657
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0132
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0129
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0103
                        },
                        {
                          "name": "touches",
                          "contribution": -0.0093
                        }
                      ],
                      "others": -0.0242,
                      "total": 6.6377,
                      "log_link": false,
                      "margin_base": 6.773334,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.065717
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.013151
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.012897
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.010342
                        },
                        {
                          "name": "touches",
                          "margin": -0.009253
                        }
                      ],
                      "others_margin": -0.024261
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 47,
                  "role_matches": 9,
                  "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.490)",
              "stats": {
                "expected_goals": 0.1461,
                "goals": 0.1564,
                "goal_rate": 0.1564,
                "shots_on_target": 0.4782,
                "total_shots": 1.0144,
                "expected_assists": 0.0133,
                "key_pass": 0.3103,
                "rating": 6.6377,
                "minutes": 26.95,
                "total_pass": 6.3484,
                "accurate_pass": 3.9215,
                "duels_won": 2.8978,
                "total_long_balls": 0.4178,
                "accurate_long_balls": 0.3553,
                "total_opp_half_passes": 4.58,
                "accurate_opp_half_passes": 2.7007,
                "crosses_total": 0.2569,
                "crosses_accurate": 0.1019,
                "touches": 11.9925,
                "possession_lost": 4.3068,
                "dispossessed": 0.0532,
                "duels_lost": 2.2516,
                "aerial_lost": 1.3701,
                "total_contest": 0.5383,
                "won_contest": 0.1251,
                "ball_recovery": 0.716,
                "challenges_lost": 0.0,
                "fouls": 0.5562,
                "fouls_drawn": 0.7447,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0532,
                "tackles_won": 0.1199,
                "tackles": 0.173,
                "clearances": 0.3893,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.11,
                "xgot": 0.1057,
                "offsides": 0.8103,
                "ball_carries": 2.851,
                "total_progression": 0.0,
                "progressive_carries": 0.2266,
                "shots_off_target": 0.5362
              },
              "params": {
                "market_value_eur": 7300000,
                "quality_factor": 0.4903,
                "boost_factor": 0.9996,
                "reference_quality": 0.505,
                "history_matches": 47,
                "history_shrink": 0.0962,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0108)",
              "stats": {
                "expected_goals": 0.1461,
                "goals": 0.1547,
                "goal_rate": 0.1547,
                "shots_on_target": 0.473,
                "total_shots": 1.0122,
                "expected_assists": 0.0133,
                "key_pass": 0.3103,
                "rating": 6.6377,
                "minutes": 26.95,
                "total_pass": 6.3484,
                "accurate_pass": 3.9215,
                "duels_won": 2.8978,
                "total_long_balls": 0.4178,
                "accurate_long_balls": 0.3553,
                "total_opp_half_passes": 4.58,
                "accurate_opp_half_passes": 2.7007,
                "crosses_total": 0.2541,
                "crosses_accurate": 0.1019,
                "touches": 11.9925,
                "possession_lost": 4.3068,
                "dispossessed": 0.0532,
                "duels_lost": 2.2516,
                "aerial_lost": 1.3701,
                "total_contest": 0.5383,
                "won_contest": 0.1251,
                "ball_recovery": 0.716,
                "challenges_lost": 0.0,
                "fouls": 0.5527,
                "fouls_drawn": 0.7429,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0526,
                "tackles_won": 0.1211,
                "tackles": 0.173,
                "clearances": 0.3893,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.11,
                "xgot": 0.1057,
                "offsides": 0.8015,
                "ball_carries": 2.851,
                "total_progression": 0.0,
                "progressive_carries": 0.2266,
                "shots_off_target": 0.5362
              },
              "params": {
                "blend_weight": 0.0108,
                "history_matches": 47,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2994,
                "prior_reliability": 0.1733,
                "competition": "La Liga",
                "squad": "Alavés"
              },
              "changes": [
                {
                  "stat": "totalOffside",
                  "before": 0.8103,
                  "after": 0.8015
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.4782,
                  "after": 0.473
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 26.9 to 25.5 expected minutes (appearance prob 0.34)",
              "stats": {
                "expected_goals": 0.1382,
                "goals": 0.1464,
                "goal_rate": 0.1464,
                "shots_on_target": 0.4476,
                "total_shots": 0.9578,
                "expected_assists": 0.0126,
                "key_pass": 0.2936,
                "rating": 6.6377,
                "minutes": 25.5,
                "total_pass": 6.0072,
                "accurate_pass": 3.7107,
                "duels_won": 2.742,
                "total_long_balls": 0.3953,
                "accurate_long_balls": 0.3362,
                "total_opp_half_passes": 4.3338,
                "accurate_opp_half_passes": 2.5555,
                "crosses_total": 0.2404,
                "crosses_accurate": 0.0964,
                "touches": 11.3479,
                "possession_lost": 4.0753,
                "dispossessed": 0.0532,
                "duels_lost": 2.1306,
                "aerial_lost": 1.3701,
                "total_contest": 0.5094,
                "won_contest": 0.1184,
                "ball_recovery": 0.6775,
                "challenges_lost": 0.0,
                "fouls": 0.523,
                "fouls_drawn": 0.703,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0498,
                "tackles_won": 0.1146,
                "tackles": 0.1637,
                "clearances": 0.3684,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1041,
                "xgot": 0.1,
                "offsides": 0.8015,
                "ball_carries": 2.6978,
                "total_progression": 0.0,
                "progressive_carries": 0.2144,
                "shots_off_target": 0.5074,
                "bench_appearance_probability": 0.338,
                "bench_expected_minutes": 25.5
              },
              "params": {
                "expected_minutes": 25.5,
                "projection_minutes": 26.95,
                "minutes_scale": 0.9462,
                "appearance_probability": 0.338
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1382,
                "goals": 0.1464,
                "goal_rate": 0.1464,
                "shots_on_target": 0.4476,
                "total_shots": 0.9578,
                "expected_assists": 0.0126,
                "key_pass": 0.2936,
                "rating": 6.6377,
                "minutes": 25.5,
                "total_pass": 6.0072,
                "accurate_pass": 3.7107,
                "duels_won": 2.742,
                "total_long_balls": 0.3953,
                "accurate_long_balls": 0.3362,
                "total_opp_half_passes": 4.3338,
                "accurate_opp_half_passes": 2.5555,
                "crosses_total": 0.2404,
                "crosses_accurate": 0.0964,
                "touches": 11.3479,
                "possession_lost": 4.0753,
                "dispossessed": 0.0532,
                "duels_lost": 2.1306,
                "aerial_lost": 1.3701,
                "total_contest": 0.5094,
                "won_contest": 0.1184,
                "ball_recovery": 0.6775,
                "challenges_lost": 0.0,
                "fouls": 0.523,
                "fouls_drawn": 0.703,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0498,
                "tackles_won": 0.1146,
                "tackles": 0.1637,
                "clearances": 0.3684,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1041,
                "xgot": 0.1,
                "offsides": 0.8015,
                "ball_carries": 2.6978,
                "total_progression": 0.0,
                "progressive_carries": 0.2144,
                "shots_off_target": 0.5074,
                "bench_appearance_probability": 0.338,
                "bench_expected_minutes": 25.5
              },
              "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.1382,
                "goal_rate": 0.1464,
                "goals": 0,
                "shots_on_target": 0.4476,
                "total_shots": 0.9578,
                "expected_assists": 0.0126,
                "key_pass": 0.2936,
                "rating": 6.6377,
                "minutes": 25.5,
                "total_pass": 6.0072,
                "accurate_pass": 3.7107,
                "duels_won": 2.742,
                "total_long_balls": 0.3953,
                "accurate_long_balls": 0.3362,
                "total_opp_half_passes": 4.3338,
                "accurate_opp_half_passes": 2.5555,
                "crosses_total": 0.2404,
                "crosses_accurate": 0.0964,
                "touches": 11.3479,
                "possession_lost": 4.0753,
                "dispossessed": 0.0532,
                "duels_lost": 2.1306,
                "aerial_lost": 1.3701,
                "total_contest": 0.5094,
                "won_contest": 0.1184,
                "ball_recovery": 0.6775,
                "challenges_lost": 0.0,
                "fouls": 0.523,
                "fouls_drawn": 0.703,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0498,
                "tackles_won": 0.1146,
                "tackles": 0.1637,
                "clearances": 0.3684,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1041,
                "xgot": 0.1,
                "offsides": 0.8015,
                "ball_carries": 2.6978,
                "total_progression": 0.0,
                "progressive_carries": 0.2144,
                "shots_off_target": 0.5074,
                "bench_appearance_probability": 0.338,
                "bench_expected_minutes": 25.5,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.338,
                "projected_substitutes": 4,
                "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 78.0)",
              "stats": {
                "expected_goals": 0.1382,
                "goal_rate": 0.1464,
                "goals": 0,
                "shots_on_target": 0.4476,
                "total_shots": 0.9578,
                "expected_assists": 0.0126,
                "key_pass": 0.2936,
                "rating": 6.6377,
                "minutes": 25.5,
                "total_pass": 6.0072,
                "accurate_pass": 3.7107,
                "duels_won": 2.742,
                "total_long_balls": 0.3953,
                "accurate_long_balls": 0.3362,
                "total_opp_half_passes": 4.3338,
                "accurate_opp_half_passes": 2.5555,
                "crosses_total": 0.2404,
                "crosses_accurate": 0.0964,
                "touches": 11.3479,
                "possession_lost": 4.0753,
                "dispossessed": 0.0532,
                "duels_lost": 2.1306,
                "aerial_lost": 1.3701,
                "total_contest": 0.5094,
                "won_contest": 0.1184,
                "ball_recovery": 0.6775,
                "challenges_lost": 0.0,
                "fouls": 0.523,
                "fouls_drawn": 0.703,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0498,
                "tackles_won": 0.1146,
                "tackles": 0.1637,
                "clearances": 0.3684,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1041,
                "xgot": 0.1,
                "offsides": 0.8015,
                "ball_carries": 2.6978,
                "total_progression": 0.0,
                "progressive_carries": 0.2144,
                "shots_off_target": 0.5074,
                "bench_appearance_probability": 0.338,
                "bench_expected_minutes": 25.5,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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": 78.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": 2078,
                "fifa_rank": 1236.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Miguel Rodríguez": {
          "player_id": 1014118,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 179,
          "market_value": 4600000,
          "stats": {
            "expected_goals": 0.0789,
            "goal_rate": 0.1104,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0415,
            "key_pass": 1,
            "rating": 6.6751,
            "minutes": 25,
            "total_pass": 3,
            "accurate_pass": 2,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 8,
            "possession_lost": 3.1464,
            "dispossessed": 0.7705,
            "duels_lost": 2,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "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": 3,
            "total_progression": 23,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.562,
            "bench_expected_minutes": 25.37,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0736,
            "projected_assists": 0,
            "assist_probability": 0.04,
            "finishing_factor": 1.1288,
            "creation_factor": 0.8,
            "fifa_overall": 72.0
          },
          "latest_10_games": [
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 11,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0172,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0091,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 12,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0,
                "total_pass": 1,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4196,
            "combined_rank_score": 2227.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 4258.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6751,
            "source_file": "data/player_rankings.csv",
            "player_name": "Miguel Rodríguez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "José Sosa",
                  "ranking": 4191
                },
                {
                  "player_name": "Jason Knight",
                  "ranking": 4192
                },
                {
                  "player_name": "Pablo Marín",
                  "ranking": 4193
                },
                {
                  "player_name": "Yvan Neyou",
                  "ranking": 4194
                },
                {
                  "player_name": "Sidiki Cherif",
                  "ranking": 4195
                }
              ],
              "lower": [
                {
                  "player_name": "Federico Navarro",
                  "ranking": 4197
                },
                {
                  "player_name": "Yukinari Sugawara",
                  "ranking": 4198
                },
                {
                  "player_name": "Patrick Pentz",
                  "ranking": 4199
                },
                {
                  "player_name": "Álex Sancris",
                  "ranking": 4200
                },
                {
                  "player_name": "Bartosz Slisz",
                  "ranking": 4201
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "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": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 25.37070150421028,
            "bench_appearance_prob": 0.56230461382774,
            "market_value_adjustment": 0.991,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "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 F_service (3 historical appearances) to 25.4 expected mins (appearance prob 0.56); 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.062,
                "goals": 0.0742,
                "goal_rate": 0.0742,
                "shots_on_target": 0.2337,
                "total_shots": 0.5822,
                "expected_assists": 0.0311,
                "key_pass": 0.3875,
                "rating": 6.6751,
                "minutes": 12.79,
                "total_pass": 2.1662,
                "accurate_pass": 1.4966,
                "duels_won": 0.7775,
                "total_long_balls": 0.3304,
                "accurate_long_balls": 0.3304,
                "total_opp_half_passes": 2.1662,
                "accurate_opp_half_passes": 1.4966,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 5.449,
                "possession_lost": 2.1166,
                "dispossessed": 0.7775,
                "duels_lost": 1.0583,
                "aerial_lost": 0.2809,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.1662,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.3887,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.3887,
                "tackles": 0.3887,
                "clearances": 0.2809,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 1.8853,
                "total_progression": 15.6129,
                "progressive_carries": 0.3887,
                "shots_off_target": 0.3485
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:06:26.876327+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 612,
                    "rows": 17180
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.2809,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "accuratePass": 1.4966,
                  "expectedGoals": 0.0,
                  "accurateOppositionHalfPasses": 1.4966,
                  "totalShots": 0.0,
                  "totalOppositionHalfPasses": 2.1662
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.06196950376033783,
                    "model_output": 0.062,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2767
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0987
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.036
                      },
                      {
                        "name": "goals",
                        "importance": 0.0336
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.1929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0865
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0155
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0068
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0043
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0038
                        }
                      ],
                      "others": -0.014,
                      "total": 0.062,
                      "log_link": true,
                      "margin_base": -1.645586,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.59466
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.157111
                        },
                        {
                          "name": "goals",
                          "margin": -0.07813
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.052256
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.048337
                        }
                      ],
                      "others_margin": -0.205034
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.074221171438694,
                    "model_output": 0.0742,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1491
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0805
                      },
                      {
                        "name": "goals",
                        "importance": 0.056
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0343
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0288
                      }
                    ],
                    "decomposition": {
                      "base": 0.1972,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.072
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0124
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0095
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0084
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0073
                        }
                      ],
                      "others": -0.0134,
                      "total": 0.0742,
                      "log_link": true,
                      "margin_base": -1.623746,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.454464
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.104669
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.087583
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.084866
                        },
                        {
                          "name": "goals",
                          "margin": -0.079686
                        }
                      ],
                      "others_margin": -0.165692
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.2337111234664917,
                    "model_output": 0.2337,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2173
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0637
                      },
                      {
                        "name": "goals",
                        "importance": 0.0596
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0393
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.5269,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2154
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0243
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.013
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0123
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0109
                        }
                      ],
                      "others": -0.0173,
                      "total": 0.2337,
                      "log_link": true,
                      "margin_base": -0.640773,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.52566
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.081313
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.046201
                        },
                        {
                          "name": "goals",
                          "margin": -0.045832
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.04251
                        }
                      ],
                      "others_margin": -0.07138
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5822296738624573,
                    "model_output": 0.5822,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.3005
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0627
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0526
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0309
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0307
                      }
                    ],
                    "decomposition": {
                      "base": 1.3756,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4548
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1213
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0524
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0415
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0329
                        }
                      ],
                      "others": -0.1563,
                      "total": 0.5822,
                      "log_link": false,
                      "margin_base": 1.375643,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.454848
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.121294
                        },
                        {
                          "name": "goals",
                          "margin": -0.052354
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.041466
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.032859
                        }
                      ],
                      "others_margin": -0.15631
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03111160732805729,
                    "model_output": 0.0311,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1287
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1119
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0634
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.051
                      }
                    ],
                    "decomposition": {
                      "base": 0.065,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0176
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0118
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0051
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0034
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0027
                        }
                      ],
                      "others": 0.0067,
                      "total": 0.0311,
                      "log_link": true,
                      "margin_base": -2.733324,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.316524
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.285644
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.153857
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.119158
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.102979
                        }
                      ],
                      "others_margin": 0.241311
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.387543648481369,
                    "model_output": 0.3875,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1579
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1341
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0953
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.069
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0295
                      }
                    ],
                    "decomposition": {
                      "base": 0.6917,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2795
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0521
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0317
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0293
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0247
                        }
                      ],
                      "others": 0.0089,
                      "total": 0.3875,
                      "log_link": true,
                      "margin_base": -0.368585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.517613
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.119085
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.070658
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.070011
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.063155
                        }
                      ],
                      "others_margin": 0.02301
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.67508602142334,
                    "model_output": 6.6751,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.048
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0462
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0455
                      },
                      {
                        "name": "rating",
                        "importance": 0.0455
                      }
                    ],
                    "decomposition": {
                      "base": 6.7733,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0481
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0329
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0152
                        },
                        {
                          "name": "touches",
                          "contribution": -0.0099
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0098
                        }
                      ],
                      "others": -0.0481,
                      "total": 6.6751,
                      "log_link": false,
                      "margin_base": 6.773334,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.048098
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.032875
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.015186
                        },
                        {
                          "name": "touches",
                          "margin": -0.009925
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.009848
                        }
                      ],
                      "others_margin": -0.048067
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 3,
                  "role_matches": 3,
                  "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.9910, quality 0.457)",
              "stats": {
                "expected_goals": 0.0614,
                "goals": 0.0736,
                "goal_rate": 0.0736,
                "shots_on_target": 0.2316,
                "total_shots": 0.577,
                "expected_assists": 0.0308,
                "key_pass": 0.3841,
                "rating": 6.6751,
                "minutes": 12.79,
                "total_pass": 2.1467,
                "accurate_pass": 1.4831,
                "duels_won": 0.7705,
                "total_long_balls": 0.3274,
                "accurate_long_balls": 0.3274,
                "total_opp_half_passes": 2.1467,
                "accurate_opp_half_passes": 1.4831,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 5.4,
                "possession_lost": 2.0976,
                "dispossessed": 0.7705,
                "duels_lost": 1.0488,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.1557,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.3852,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.3852,
                "tackles": 0.3852,
                "clearances": 0.2784,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 1.8683,
                "total_progression": 15.4724,
                "progressive_carries": 0.3852,
                "shots_off_target": 0.3454
              },
              "params": {
                "market_value_eur": 4600000,
                "quality_factor": 0.4572,
                "boost_factor": 0.991,
                "reference_quality": 0.505,
                "history_matches": 3,
                "history_shrink": 0.625,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 12.8 to 25.4 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0921,
                "goals": 0.1104,
                "goal_rate": 0.1104,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0462,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37
              },
              "params": {
                "expected_minutes": 25.37,
                "projection_minutes": 12.79,
                "minutes_scale": 1.5,
                "appearance_probability": 0.562
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0921,
                "goals": 0.1104,
                "goal_rate": 0.1104,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0462,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.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 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.0921,
                "goal_rate": 0.1104,
                "goals": 0,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0462,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.0789,
                "goal_rate": 0.1104,
                "goals": 0,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0415,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.1288,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 0.562
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0921,
                  "after": 0.0789
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 15 by projected rating, fifa_overall 72.0)",
              "stats": {
                "expected_goals": 0.0789,
                "goal_rate": 0.1104,
                "goals": 0,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0415,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.1288,
                "creation_factor": 0.8,
                "fifa_overall": 72.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": 4196,
                "fifa_rank": 4258.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 72.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.0789,
                "goal_rate": 0.1104,
                "goals": 0,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0415,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0736,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1288,
                "creation_factor": 0.8,
                "fifa_overall": 72.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0736,
                "goal_rate": 0.1104,
                "scorer_weight": 0.0891,
                "squad_weight_total": 1.4144,
                "weight_share": 0.063,
                "finishing_factor": 1.1288,
                "appearance_weight": 0.562,
                "weight_rank": 5,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.0789,
                "goal_rate": 0.1104,
                "goals": 0,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0415,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0736,
                "projected_assists": 0,
                "assist_probability": 0.04,
                "finishing_factor": 1.1288,
                "creation_factor": 0.8,
                "fifa_overall": 72.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.04,
                "assist_rate": 0.0,
                "provider_weight": 0.0332,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0401,
                "creation_factor": 0.8,
                "appearance_weight": 0.562,
                "weight_rank": 8,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "substitutes": {
        "Carles Aleñá": {
          "player_id": 794937,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 10,
          "height": 180,
          "market_value": 2400000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0551,
            "assist_rate": 0.0488,
            "assists": 0,
            "expected_goals": 0.0328,
            "goal_rate": 0.0299,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6995,
            "minutes": 13,
            "total_pass": 7,
            "accurate_pass": 7,
            "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": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 11,
            "possession_lost": 2.5505,
            "dispossessed": 0.8022,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0014,
            "ball_carries": 3,
            "total_progression": 4,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.692,
            "bench_expected_minutes": 13.19,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.032,
            "projected_assists": 0,
            "assist_probability": 0.053,
            "finishing_factor": 0.9852,
            "creation_factor": 0.989,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421077.0,
              "match_date": "2026-10-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 45,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1621,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 12,
                "accurate_pass": 10,
                "key_pass": 3,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 62,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0714,
                "expected_assists": 0.0742,
                "total_shots": 1,
                "total_pass": 32,
                "accurate_pass": 28,
                "key_pass": 2,
                "aerial_won": 1,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 11,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 5,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 11,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0065,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 23,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0039,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 5,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 71,
                "rating": 6.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0901,
                "expected_assists": 0.0221,
                "total_shots": 1,
                "total_pass": 30,
                "accurate_pass": 25,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416292.0,
              "match_date": "2026-08-20",
              "home_team": "Rayo Vallecano",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 10,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0106,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421047.0,
              "match_date": "2026-08-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0174,
                "expected_assists": 0.0054,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 9,
                "accurate_pass": 9
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083364.0,
              "match_date": "2026-05-02",
              "home_team": "Deportivo Alavés",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 17,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0495,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 7,
                "tackles": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083202.0,
              "match_date": "2026-04-25",
              "home_team": "Deportivo Alavés",
              "away_team": "Mallorca",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Mallorca",
              "stats": {
                "minutes": 63,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0271,
                "expected_assists": 0.1834,
                "total_shots": 1,
                "total_pass": 23,
                "accurate_pass": 18,
                "key_pass": 3,
                "tackles": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2212,
            "combined_rank_score": 1041.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 822.0,
            "sofascore_rating": 6.6,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1260.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6995,
            "source_file": "data/player_rankings.csv",
            "player_name": "Carles Aleñá",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Darko Velkovski",
                  "ranking": 2207
                },
                {
                  "player_name": "Sandro Wieser",
                  "ranking": 2208
                },
                {
                  "player_name": "Zafar Sadullayev",
                  "ranking": 2209
                },
                {
                  "player_name": "Tyrell Malacia",
                  "ranking": 2210
                },
                {
                  "player_name": "Yeremay Hernández",
                  "ranking": 2211
                }
              ],
              "lower": [
                {
                  "player_name": "Jorge Cestero",
                  "ranking": 2213
                },
                {
                  "player_name": "Wallace Yan",
                  "ranking": 2214
                },
                {
                  "player_name": "Behruz Uktamov",
                  "ranking": 2215
                },
                {
                  "player_name": "Ilkhomzhon Kenzhaev",
                  "ranking": 2216
                },
                {
                  "player_name": "Ravshanbek Yagudin",
                  "ranking": 2217
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.751,
          "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.751,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 13.19,
            "bench_appearance_prob": 0.692,
            "market_value_adjustment": 0.9978,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 6.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "Bench projection scaled from XGBoost M_service (42 historical appearances) to 13.2 expected mins (appearance prob 0.69); FBref playing time empirical prior: 2.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.5398,
                "expected_assists": 0.0689,
                "assists": 0.0674,
                "assist_rate": 0.0674,
                "expected_goals": 0.043,
                "goals": 0.0413,
                "goal_rate": 0.0413,
                "shots_on_target": 0.1668,
                "total_shots": 0.4028,
                "rating": 6.6995,
                "minutes": 18.18,
                "total_pass": 10.3258,
                "accurate_pass": 9.0704,
                "duels_won": 0.9854,
                "total_long_balls": 0.467,
                "accurate_long_balls": 0.3216,
                "total_own_half_passes": 2.4329,
                "accurate_own_half_passes": 2.2796,
                "total_opp_half_passes": 7.8929,
                "accurate_opp_half_passes": 6.7908,
                "crosses_total": 1.4543,
                "crosses_accurate": 0.2959,
                "touches": 15.2867,
                "possession_lost": 3.5232,
                "dispossessed": 0.804,
                "duels_lost": 1.4241,
                "aerial_won": 0.0,
                "aerial_lost": 0.2203,
                "interceptions": 0.0,
                "tackles_won": 0.2812,
                "tackles": 0.3531,
                "clearances": 0.0196,
                "total_contest": 0.3506,
                "won_contest": 0.149,
                "challenges_lost": 0.0271,
                "fouls": 0.171,
                "fouls_drawn": 0.4833,
                "blocks": 0.0,
                "big_chances_created": 0.1386,
                "big_chances_missed": 0.0,
                "xgot": 0.0018,
                "ball_carries": 4.2971,
                "total_progression": 5.2545,
                "progressive_carries": 0.0,
                "shots_off_target": 0.236
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-23",
                    "opponent": "Málaga CF",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.1085,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.0922,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.0784,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-20",
                    "opponent": "Rayo Vallecano",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.0566,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Getafe",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0481,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Athletic Club",
                    "minutes": 17.0,
                    "is_starting": false,
                    "weight": 0.0409,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-04-25",
                    "opponent": "Mallorca",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.4761,
                  "creative_index": 0.5133,
                  "expectedGoals": 0.0339,
                  "expectedAssists": 0.0665,
                  "keyPass": 1.1837
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5397757887840271,
                    "model_output": 0.5398,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4699
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0383
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0308
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0233
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.019
                        }
                      ],
                      "others": 0.0461,
                      "total": 0.5398,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.750379
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.08722
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.065082
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.046496
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.037802
                        }
                      ],
                      "others_margin": 0.089078
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.06891559064388275,
                    "model_output": 0.0689,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0362
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0102
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0033
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0032
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0027
                        }
                      ],
                      "others": 0.0074,
                      "total": 0.0689,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.557219
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.190062
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.054353
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.053339
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.045771
                        }
                      ],
                      "others_margin": 0.114422
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06742141395807266,
                    "model_output": 0.0674,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0233
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0071
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0055
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0054
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0054
                        }
                      ],
                      "others": -0.0178,
                      "total": 0.0674,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.319792
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.108072
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.077349
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.069561
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.065676
                        }
                      ],
                      "others_margin": -0.234187
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.04298052564263344,
                    "model_output": 0.043,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0411
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0084
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0039
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0026
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.002
                        }
                      ],
                      "others": 0.0014,
                      "total": 0.043,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.593941
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.182151
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.088912
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.057764
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.047365
                        }
                      ],
                      "others_margin": 0.033264
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.04130317270755768,
                    "model_output": 0.0413,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0389
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0113
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0039
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0039
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0036
                        }
                      ],
                      "others": -0.0073,
                      "total": 0.0413,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.529383
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.226169
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.084647
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.076727
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.071961
                        }
                      ],
                      "others_margin": -0.162291
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.16675999760627747,
                    "model_output": 0.1668,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1153
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0423
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0195
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0178
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0106
                        }
                      ],
                      "others": -0.0024,
                      "total": 0.1668,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.450767
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.234548
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": -0.12953
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.119222
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.064851
                        }
                      ],
                      "others_margin": -0.014341
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.4027893543243408,
                    "model_output": 0.4028,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3709
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2228
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.078
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0428
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.028
                        }
                      ],
                      "others": 0.0044,
                      "total": 0.4028,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.370932
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.222849
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.077953
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": -0.042825
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.027958
                        }
                      ],
                      "others_margin": 0.004465
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.699498653411865,
                    "model_output": 6.6995,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0932
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0405
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0314
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0168
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.013
                        }
                      ],
                      "others": -0.0226,
                      "total": 6.6995,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.09321
                        },
                        {
                          "name": "rating",
                          "margin": -0.040513
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.031416
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.01678
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.012992
                        }
                      ],
                      "others_margin": -0.02254
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 42,
                  "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.9978, quality 0.437)",
              "stats": {
                "key_pass": 0.5386,
                "expected_assists": 0.0688,
                "assists": 0.0673,
                "assist_rate": 0.0673,
                "expected_goals": 0.0429,
                "goals": 0.0412,
                "goal_rate": 0.0412,
                "shots_on_target": 0.1664,
                "total_shots": 0.4019,
                "rating": 6.6995,
                "minutes": 18.18,
                "total_pass": 10.3031,
                "accurate_pass": 9.0504,
                "duels_won": 0.9832,
                "total_long_balls": 0.466,
                "accurate_long_balls": 0.3209,
                "total_own_half_passes": 2.4275,
                "accurate_own_half_passes": 2.2746,
                "total_opp_half_passes": 7.8755,
                "accurate_opp_half_passes": 6.7759,
                "crosses_total": 1.4511,
                "crosses_accurate": 0.2952,
                "touches": 15.2531,
                "possession_lost": 3.5154,
                "dispossessed": 0.8022,
                "duels_lost": 1.421,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2806,
                "tackles": 0.3523,
                "clearances": 0.0196,
                "total_contest": 0.3498,
                "won_contest": 0.1487,
                "challenges_lost": 0.027,
                "fouls": 0.1706,
                "fouls_drawn": 0.4822,
                "blocks": 0.0,
                "big_chances_created": 0.1383,
                "big_chances_missed": 0.0,
                "xgot": 0.0018,
                "ball_carries": 4.2876,
                "total_progression": 5.2429,
                "progressive_carries": 0.0,
                "shots_off_target": 0.2355
              },
              "params": {
                "market_value_eur": 2400000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9978,
                "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.0005)",
              "stats": {
                "key_pass": 0.5386,
                "expected_assists": 0.0688,
                "assists": 0.0673,
                "assist_rate": 0.0673,
                "expected_goals": 0.0429,
                "goals": 0.0412,
                "goal_rate": 0.0412,
                "shots_on_target": 0.167,
                "total_shots": 0.4024,
                "rating": 6.6995,
                "minutes": 18.18,
                "total_pass": 10.3031,
                "accurate_pass": 9.0504,
                "duels_won": 0.9832,
                "total_long_balls": 0.466,
                "accurate_long_balls": 0.3209,
                "total_own_half_passes": 2.4275,
                "accurate_own_half_passes": 2.2746,
                "total_opp_half_passes": 7.8755,
                "accurate_opp_half_passes": 6.7759,
                "crosses_total": 1.4523,
                "crosses_accurate": 0.2952,
                "touches": 15.2531,
                "possession_lost": 3.5154,
                "dispossessed": 0.8022,
                "duels_lost": 1.421,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2814,
                "tackles": 0.3523,
                "clearances": 0.0196,
                "total_contest": 0.3498,
                "won_contest": 0.1487,
                "challenges_lost": 0.027,
                "fouls": 0.1705,
                "fouls_drawn": 0.482,
                "blocks": 0.0,
                "big_chances_created": 0.1383,
                "big_chances_missed": 0.0,
                "xgot": 0.0018,
                "ball_carries": 4.2876,
                "total_progression": 5.2429,
                "progressive_carries": 0.0,
                "shots_off_target": 0.2355
              },
              "params": {
                "blend_weight": 0.0005,
                "history_matches": 42,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.202,
                "prior_reliability": 0.0067,
                "competition": "La Liga",
                "squad": "Alavés"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 18.2 to 13.2 expected minutes (appearance prob 0.69)",
              "stats": {
                "key_pass": 0.3908,
                "expected_assists": 0.0499,
                "assists": 0.0488,
                "assist_rate": 0.0488,
                "expected_goals": 0.0311,
                "goals": 0.0299,
                "goal_rate": 0.0299,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0013,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19
              },
              "params": {
                "expected_minutes": 13.19,
                "projection_minutes": 18.18,
                "minutes_scale": 0.7255,
                "appearance_probability": 0.692
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.3908,
                "expected_assists": 0.0499,
                "assists": 0.0488,
                "assist_rate": 0.0488,
                "expected_goals": 0.0311,
                "goals": 0.0299,
                "goal_rate": 0.0299,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0013,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19
              },
              "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.3908,
                "expected_assists": 0.0499,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0311,
                "goal_rate": 0.0299,
                "goals": 0,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0013,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "key_pass": 0.3908,
                "expected_assists": 0.0551,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0328,
                "goal_rate": 0.0299,
                "goals": 0,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0014,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.9852,
                "creation_factor": 0.989
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 0.692
              },
              "changes": [
                {
                  "stat": "expected_assists",
                  "before": 0.0499,
                  "after": 0.0551
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 13 by projected rating, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0.3908,
                "expected_assists": 0.0551,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0328,
                "goal_rate": 0.0299,
                "goals": 0,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0014,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.9852,
                "creation_factor": 0.989,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 13,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 2212,
                "fifa_rank": 1260.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": {
                "key_pass": 0.3908,
                "expected_assists": 0.0551,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0328,
                "goal_rate": 0.0299,
                "goals": 0,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0014,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.032,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9852,
                "creation_factor": 0.989,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.032,
                "goal_rate": 0.0299,
                "scorer_weight": 0.0323,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0228,
                "finishing_factor": 0.9852,
                "appearance_weight": 0.692,
                "weight_rank": 11,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.3908,
                "expected_assists": 0.0551,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0328,
                "goal_rate": 0.0299,
                "goals": 0,
                "shots_on_target": 0.1212,
                "total_shots": 0.2921,
                "rating": 6.6995,
                "minutes": 13.19,
                "total_pass": 7.4751,
                "accurate_pass": 6.5663,
                "duels_won": 0.7133,
                "total_long_balls": 0.3381,
                "accurate_long_balls": 0.2328,
                "total_own_half_passes": 1.7612,
                "accurate_own_half_passes": 1.6503,
                "total_opp_half_passes": 5.7139,
                "accurate_opp_half_passes": 4.9161,
                "crosses_total": 1.0537,
                "crosses_accurate": 0.2142,
                "touches": 11.0665,
                "possession_lost": 2.5505,
                "dispossessed": 0.8022,
                "duels_lost": 1.031,
                "aerial_won": 0.0,
                "aerial_lost": 0.2198,
                "interceptions": 0.0,
                "tackles_won": 0.2042,
                "tackles": 0.2556,
                "clearances": 0.0142,
                "total_contest": 0.2538,
                "won_contest": 0.1079,
                "challenges_lost": 0.027,
                "fouls": 0.1237,
                "fouls_drawn": 0.3497,
                "blocks": 0.0,
                "big_chances_created": 0.1003,
                "big_chances_missed": 0.0,
                "xgot": 0.0014,
                "ball_carries": 3.1108,
                "total_progression": 3.8038,
                "progressive_carries": 0.0,
                "shots_off_target": 0.1709,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 13.19,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.032,
                "projected_assists": 0,
                "assist_probability": 0.053,
                "finishing_factor": 0.9852,
                "creation_factor": 0.989,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.053,
                "assist_rate": 0.0488,
                "provider_weight": 0.0545,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0658,
                "creation_factor": 0.989,
                "appearance_weight": 0.692,
                "weight_rank": 6,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Ander Guevara": {
          "player_id": 891931,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 6,
          "height": 180,
          "market_value": 2700000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0164,
            "assist_rate": 0.021,
            "assists": 0,
            "expected_goals": 0.0104,
            "goal_rate": 0.0178,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6869,
            "minutes": 10,
            "total_pass": 8,
            "accurate_pass": 7,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 4,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 1.9142,
            "dispossessed": 0.4096,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 12,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.692,
            "bench_expected_minutes": 10.44,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0103,
            "projected_assists": 0,
            "assist_probability": 0.0162,
            "finishing_factor": 1.1319,
            "creation_factor": 1.0957,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 26,
                "accurate_pass": 24,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421069.0,
              "match_date": "2026-10-18",
              "home_team": "Celta Vigo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 8,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0213,
                "expected_assists": 0.0078,
                "total_shots": 1,
                "total_pass": 7,
                "accurate_pass": 7,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 26,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 6,
                "tackles": 1,
                "interceptions": 2,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 32,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 3,
                "clearances": 2,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 11,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0076,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 14,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421047.0,
              "match_date": "2026-08-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Getafe",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083706.0,
              "match_date": "2026-05-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 12,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.006,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 7,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083578.0,
              "match_date": "2026-05-09",
              "home_team": "Elche",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Elche",
              "stats": {
                "minutes": 8,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083364.0,
              "match_date": "2026-05-02",
              "home_team": "Deportivo Alavés",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 28,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1079,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 18,
                "key_pass": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083295.0,
              "match_date": "2026-04-21",
              "home_team": "Real Madrid",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 15,
                "rating": 6.8,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.035,
                "expected_assists": 0.0174,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 19,
                "accurate_pass": 19,
                "key_pass": 2,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 3847,
            "combined_rank_score": 1841.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 796.0,
            "sofascore_rating": 6.624,
            "sofascore_appearances": 25.0,
            "fifa_rank": 2886.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6869,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ander Guevara",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Thierry Correia",
                  "ranking": 3842
                },
                {
                  "player_name": "Anthony Rouault",
                  "ranking": 3843
                },
                {
                  "player_name": "Abner Vinícius",
                  "ranking": 3844
                },
                {
                  "player_name": "Saša Kalajdžić",
                  "ranking": 3845
                },
                {
                  "player_name": "Matthis Abline",
                  "ranking": 3846
                }
              ],
              "lower": [
                {
                  "player_name": "Pablo Pagis",
                  "ranking": 3848
                },
                {
                  "player_name": "Jacob Greaves",
                  "ranking": 3849
                },
                {
                  "player_name": "Martial Godo",
                  "ranking": 3850
                },
                {
                  "player_name": "Tomasz Kędziora",
                  "ranking": 3851
                },
                {
                  "player_name": "Kévin Danois",
                  "ranking": 3852
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "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.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 10.44,
            "bench_appearance_prob": 0.692,
            "market_value_adjustment": 0.9972,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 1.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection scaled from XGBoost M_service (31 historical appearances) to 10.4 expected mins (appearance prob 0.69); FBref playing time empirical prior: 1.0 sub appearances, 1.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.2608,
                "expected_assists": 0.0229,
                "assists": 0.0325,
                "assist_rate": 0.0325,
                "expected_goals": 0.0152,
                "goals": 0.0276,
                "goal_rate": 0.0276,
                "shots_on_target": 0.0557,
                "total_shots": 0.2068,
                "rating": 6.6869,
                "minutes": 16.09,
                "total_pass": 12.1552,
                "accurate_pass": 10.329,
                "duels_won": 0.8766,
                "total_long_balls": 1.1478,
                "accurate_long_balls": 0.8468,
                "total_own_half_passes": 4.496,
                "accurate_own_half_passes": 4.2092,
                "total_opp_half_passes": 7.6592,
                "accurate_opp_half_passes": 6.1198,
                "crosses_total": 0.2719,
                "crosses_accurate": 0.0613,
                "touches": 15.7154,
                "possession_lost": 2.9585,
                "dispossessed": 0.4107,
                "duels_lost": 0.8822,
                "aerial_won": 0.2452,
                "aerial_lost": 0.0787,
                "interceptions": 0.3019,
                "tackles_won": 0.153,
                "tackles": 0.4296,
                "clearances": 0.242,
                "total_contest": 0.157,
                "won_contest": 0.0189,
                "challenges_lost": 0.1154,
                "fouls": 0.1419,
                "fouls_drawn": 0.183,
                "blocks": 0.159,
                "big_chances_created": 0.1063,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 4.6475,
                "total_progression": 19.0356,
                "progressive_carries": 0.3631,
                "shots_off_target": 0.151
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-11-03T11:05:50.765150+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 905,
                    "rows": 25067
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.151,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Celta Vigo",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.1283,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 26.0,
                    "is_starting": false,
                    "weight": 0.1091,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0927,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.0788,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Getafe",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.067,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Rayo Vallecano",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.0569,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Elche",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.0484,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Athletic Club",
                    "minutes": 28.0,
                    "is_starting": false,
                    "weight": 0.0411,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-04-21",
                    "opponent": "Real Madrid",
                    "minutes": 15.0,
                    "is_starting": false,
                    "weight": 0.035,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.1914,
                  "creative_index": 0.0965,
                  "expectedGoals": 0.0049,
                  "expectedAssists": 0.0114,
                  "keyPass": 0.2241
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.26078081130981445,
                    "model_output": 0.2608,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1578
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1373
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0712
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0516
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0289
                      }
                    ],
                    "decomposition": {
                      "base": 0.8902,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4447
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0619
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0471
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0318
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0131
                        }
                      ],
                      "others": -0.0308,
                      "total": 0.2608,
                      "log_link": true,
                      "margin_base": -0.116298,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.69224
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.149651
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.131001
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.099265
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.043905
                        }
                      ],
                      "others_margin": -0.111714
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.022859979420900345,
                    "model_output": 0.0229,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1181
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.1136
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1034
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0572
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0473
                      }
                    ],
                    "decomposition": {
                      "base": 0.0847,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.035
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0101
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0068
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0023
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.002
                        }
                      ],
                      "others": -0.0056,
                      "total": 0.0229,
                      "log_link": true,
                      "margin_base": -2.468924,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.532858
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.227259
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.188358
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.074146
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.066197
                        }
                      ],
                      "others_margin": -0.220626
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.03249453380703926,
                    "model_output": 0.0325,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.0627
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0445
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0417
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0324
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0293
                      }
                    ],
                    "decomposition": {
                      "base": 0.0851,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0234
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0061
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0049
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0039
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0031
                        }
                      ],
                      "others": -0.0112,
                      "total": 0.0325,
                      "log_link": true,
                      "margin_base": -2.463472,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.320876
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.103724
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.09127
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.07897
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.068362
                        }
                      ],
                      "others_margin": -0.30001
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.015231740660965443,
                    "model_output": 0.0152,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1255
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0756
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0438
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0265
                      }
                    ],
                    "decomposition": {
                      "base": 0.0918,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0416
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0176
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0083
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0019
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0013
                        }
                      ],
                      "others": -0.0059,
                      "total": 0.0152,
                      "log_link": true,
                      "margin_base": -2.387963,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.602857
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.429858
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.291192
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.079797
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.05968
                        }
                      ],
                      "others_margin": -0.333028
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.027598075568675995,
                    "model_output": 0.0276,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0923
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.067
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.041
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0334
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.0946,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0364
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0107
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0081
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0025
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.002
                        }
                      ],
                      "others": -0.0073,
                      "total": 0.0276,
                      "log_link": true,
                      "margin_base": -2.358385,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.486042
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.202579
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.185729
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.064569
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.055517
                        }
                      ],
                      "others_margin": -0.23719
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.0557231605052948,
                    "model_output": 0.0557,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.117
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0884
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0772
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0315
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0258
                      }
                    ],
                    "decomposition": {
                      "base": 0.3179,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1464
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0595
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0181
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0117
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0065
                        }
                      ],
                      "others": -0.02,
                      "total": 0.0557,
                      "log_link": true,
                      "margin_base": -1.146086,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.617342
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.426298
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.176268
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.132622
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": -0.08238
                        }
                      ],
                      "others_margin": -0.306361
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.20676910877227783,
                    "model_output": 0.2068,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1349
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1208
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0462
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.044
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0312
                      }
                    ],
                    "decomposition": {
                      "base": 0.9849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3199
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2683
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0425
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0387
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0309
                        }
                      ],
                      "others": -0.0778,
                      "total": 0.2068,
                      "log_link": false,
                      "margin_base": 0.984935,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.319876
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.268262
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.04253
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.03866
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": -0.030889
                        }
                      ],
                      "others_margin": -0.077951
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.6868896484375,
                    "model_output": 6.6869,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0864
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0749
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0486
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0482
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 6.8574,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0878
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.043
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0386
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0141
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0118
                        }
                      ],
                      "others": -0.027,
                      "total": 6.6869,
                      "log_link": false,
                      "margin_base": 6.857404,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.087831
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.043033
                        },
                        {
                          "name": "rating",
                          "margin": -0.038604
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.014091
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.011754
                        }
                      ],
                      "others_margin": -0.026893
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 31,
                  "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.9972, quality 0.437)",
              "stats": {
                "key_pass": 0.2601,
                "expected_assists": 0.0228,
                "assists": 0.0324,
                "assist_rate": 0.0324,
                "expected_goals": 0.0152,
                "goals": 0.0275,
                "goal_rate": 0.0275,
                "shots_on_target": 0.0556,
                "total_shots": 0.2062,
                "rating": 6.6869,
                "minutes": 16.09,
                "total_pass": 12.1212,
                "accurate_pass": 10.3001,
                "duels_won": 0.8741,
                "total_long_balls": 1.1446,
                "accurate_long_balls": 0.8444,
                "total_own_half_passes": 4.4834,
                "accurate_own_half_passes": 4.1974,
                "total_opp_half_passes": 7.6378,
                "accurate_opp_half_passes": 6.1027,
                "crosses_total": 0.2711,
                "crosses_accurate": 0.0611,
                "touches": 15.6714,
                "possession_lost": 2.9502,
                "dispossessed": 0.4096,
                "duels_lost": 0.8797,
                "aerial_won": 0.2445,
                "aerial_lost": 0.0785,
                "interceptions": 0.3011,
                "tackles_won": 0.1526,
                "tackles": 0.4284,
                "clearances": 0.2413,
                "total_contest": 0.1566,
                "won_contest": 0.0188,
                "challenges_lost": 0.1151,
                "fouls": 0.1415,
                "fouls_drawn": 0.1825,
                "blocks": 0.1586,
                "big_chances_created": 0.106,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 4.6345,
                "total_progression": 18.9823,
                "progressive_carries": 0.3621,
                "shots_off_target": 0.1506
              },
              "params": {
                "market_value_eur": 2700000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9972,
                "reference_quality": 0.505,
                "history_matches": 31,
                "history_shrink": 0.1389,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 16.1 to 10.4 expected minutes (appearance prob 0.69)",
              "stats": {
                "key_pass": 0.1688,
                "expected_assists": 0.0148,
                "assists": 0.021,
                "assist_rate": 0.021,
                "expected_goals": 0.0099,
                "goals": 0.0178,
                "goal_rate": 0.0178,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44
              },
              "params": {
                "expected_minutes": 10.44,
                "projection_minutes": 16.09,
                "minutes_scale": 0.6489,
                "appearance_probability": 0.692
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.1688,
                "expected_assists": 0.0148,
                "assists": 0.021,
                "assist_rate": 0.021,
                "expected_goals": 0.0099,
                "goals": 0.0178,
                "goal_rate": 0.0178,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44
              },
              "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.1688,
                "expected_assists": 0.0148,
                "assist_rate": 0.021,
                "assists": 0,
                "expected_goals": 0.0099,
                "goal_rate": 0.0178,
                "goals": 0,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "key_pass": 0.1688,
                "expected_assists": 0.0164,
                "assist_rate": 0.021,
                "assists": 0,
                "expected_goals": 0.0104,
                "goal_rate": 0.0178,
                "goals": 0,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.1319,
                "creation_factor": 1.0957
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 0.692
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 14 by projected rating, fifa_overall 74.0)",
              "stats": {
                "key_pass": 0.1688,
                "expected_assists": 0.0164,
                "assist_rate": 0.021,
                "assists": 0,
                "expected_goals": 0.0104,
                "goal_rate": 0.0178,
                "goals": 0,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.1319,
                "creation_factor": 1.0957,
                "fifa_overall": 74.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": 3847,
                "fifa_rank": 2886.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": {
                "key_pass": 0.1688,
                "expected_assists": 0.0164,
                "assist_rate": 0.021,
                "assists": 0,
                "expected_goals": 0.0104,
                "goal_rate": 0.0178,
                "goals": 0,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0103,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1319,
                "creation_factor": 1.0957,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0103,
                "goal_rate": 0.0178,
                "scorer_weight": 0.0118,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0083,
                "finishing_factor": 1.1319,
                "appearance_weight": 0.692,
                "weight_rank": 13,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.1688,
                "expected_assists": 0.0164,
                "assist_rate": 0.021,
                "assists": 0,
                "expected_goals": 0.0104,
                "goal_rate": 0.0178,
                "goals": 0,
                "shots_on_target": 0.0361,
                "total_shots": 0.1338,
                "rating": 6.6869,
                "minutes": 10.44,
                "total_pass": 7.8648,
                "accurate_pass": 6.6832,
                "duels_won": 0.5672,
                "total_long_balls": 0.7427,
                "accurate_long_balls": 0.5479,
                "total_own_half_passes": 2.9091,
                "accurate_own_half_passes": 2.7235,
                "total_opp_half_passes": 4.9558,
                "accurate_opp_half_passes": 3.9597,
                "crosses_total": 0.1759,
                "crosses_accurate": 0.0396,
                "touches": 10.1684,
                "possession_lost": 1.9142,
                "dispossessed": 0.4096,
                "duels_lost": 0.5708,
                "aerial_won": 0.1586,
                "aerial_lost": 0.0785,
                "interceptions": 0.1954,
                "tackles_won": 0.099,
                "tackles": 0.278,
                "clearances": 0.1566,
                "total_contest": 0.1016,
                "won_contest": 0.0122,
                "challenges_lost": 0.1151,
                "fouls": 0.0918,
                "fouls_drawn": 0.1184,
                "blocks": 0.1029,
                "big_chances_created": 0.0688,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.0071,
                "total_progression": 12.3167,
                "progressive_carries": 0.2349,
                "shots_off_target": 0.0977,
                "bench_appearance_probability": 0.692,
                "bench_expected_minutes": 10.44,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0103,
                "projected_assists": 0,
                "assist_probability": 0.0162,
                "finishing_factor": 1.1319,
                "creation_factor": 1.0957,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0162,
                "assist_rate": 0.021,
                "provider_weight": 0.018,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0217,
                "creation_factor": 1.0957,
                "appearance_weight": 0.692,
                "weight_rank": 11,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Carlos Benavídez": {
          "player_id": 873717,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 23,
          "height": 185,
          "market_value": 960000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.6446,
            "minutes": 17,
            "total_pass": 6,
            "accurate_pass": 5,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 2,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 2.1377,
            "dispossessed": 0.3957,
            "duels_lost": 1,
            "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.0092,
            "expected_assists": 0.006,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0054,
            "ball_carries": 3,
            "total_progression": 6,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.602,
            "bench_expected_minutes": 17.11,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0091,
            "projected_assists": 0,
            "assist_probability": 0.006,
            "finishing_factor": 0.8333,
            "creation_factor": 0.8897,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16421091.0,
              "match_date": "2026-10-31",
              "home_team": "FC Barcelona",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 45,
                "rating": 6.1,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0424,
                "expected_assists": 0.0298,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 12,
                "accurate_pass": 8,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056.0,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 26,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416337.0,
              "match_date": "2026-09-19",
              "home_team": "Athletic Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 75,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0464,
                "expected_assists": 0.0049,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 17,
                "accurate_pass": 15,
                "tackles": 4,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 45,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0637,
                "expected_assists": 0.0132,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 19,
                "accurate_pass": 15,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 3,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416290.0,
              "match_date": "2026-08-28",
              "home_team": "Deportivo Alavés",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 19,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0039,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 4,
                "key_pass": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083706.0,
              "match_date": "2026-05-23",
              "home_team": "Deportivo Alavés",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 57,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0032,
                "total_shots": 0,
                "total_pass": 14,
                "accurate_pass": 9,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083692.0,
              "match_date": "2026-05-17",
              "home_team": "Real Oviedo",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 8,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.03,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 1,
                "interceptions": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083603.0,
              "match_date": "2026-05-13",
              "home_team": "Deportivo Alavés",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 10,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083578.0,
              "match_date": "2026-05-09",
              "home_team": "Elche",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Elche",
              "stats": {
                "minutes": 8,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0301,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 3,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081799.0,
              "match_date": "2026-03-08",
              "home_team": "Valencia",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 30,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 4,
                "tackles": 4,
                "tackles_won": 2,
                "clearances": 3,
                "duels_won": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559.0",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2159,
            "combined_rank_score": 875.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 816.0,
            "sofascore_rating": 6.6077,
            "sofascore_appearances": 13.0,
            "fifa_rank": 934.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6446,
            "source_file": "data/player_rankings.csv",
            "player_name": "Carlos Benavídez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Artem Dovbyk",
                  "ranking": 2154
                },
                {
                  "player_name": "Ferland Mendy",
                  "ranking": 2155
                },
                {
                  "player_name": "Aidan Simmons",
                  "ranking": 2156
                },
                {
                  "player_name": "Giorgio Scalvini",
                  "ranking": 2157
                },
                {
                  "player_name": "Federico Gatti",
                  "ranking": 2158
                }
              ],
              "lower": [
                {
                  "player_name": "Yunus Akgün",
                  "ranking": 2160
                },
                {
                  "player_name": "Ignacio Vásquez",
                  "ranking": 2161
                },
                {
                  "player_name": "Georgios Vrakas",
                  "ranking": 2162
                },
                {
                  "player_name": "Kristoffer Ajer",
                  "ranking": 2163
                },
                {
                  "player_name": "Stefan Posch",
                  "ranking": 2164
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.752,
          "history_matches": 18,
          "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": 18,
            "data_confidence": 0.752,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 17.11,
            "bench_appearance_prob": 0.602,
            "market_value_adjustment": 0.9956,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 20.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0133
            },
            "rationale": "Bench projection scaled from XGBoost D_service (18 historical appearances) to 17.1 expected mins (appearance prob 0.60); FBref playing time empirical prior: 1.0 sub appearances, 20.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.3804,
                "tackles": 0.6725,
                "tackles_won": 0.4207,
                "clearances": 0.7532,
                "aerial_won": 0.3114,
                "total_shots": 0.168,
                "rating": 6.6446,
                "minutes": 23.79,
                "total_pass": 8.7637,
                "accurate_pass": 6.7983,
                "duels_won": 1.5667,
                "total_long_balls": 1.0589,
                "accurate_long_balls": 0.5995,
                "total_own_half_passes": 2.4955,
                "accurate_own_half_passes": 2.1819,
                "total_opp_half_passes": 6.2682,
                "accurate_opp_half_passes": 4.6164,
                "crosses_total": 0.2341,
                "crosses_accurate": 0.0891,
                "touches": 13.6486,
                "possession_lost": 2.9854,
                "dispossessed": 0.3974,
                "duels_lost": 1.7597,
                "aerial_lost": 0.4117,
                "total_contest": 0.3733,
                "won_contest": 0.145,
                "ball_recovery": 1.1391,
                "challenges_lost": 0.1706,
                "fouls": 0.5516,
                "fouls_drawn": 0.4017,
                "blocks": 0.2275,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.014,
                "expected_assists": 0.0086,
                "shots_on_target": 0.0286,
                "big_chances_created": 0.0,
                "xgot": 0.0082,
                "ball_carries": 3.661,
                "total_progression": 8.3469,
                "progressive_carries": 0.2821,
                "key_pass": 0.2119,
                "shots_off_target": 0.1394
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:04:53.735026+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 631,
                    "rows": 22117
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-31",
                    "opponent": "FC Barcelona",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1585,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Atlético Madrid",
                    "minutes": 26.0,
                    "is_starting": false,
                    "weight": 0.1347,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-19",
                    "opponent": "Athletic Club",
                    "minutes": 75.0,
                    "is_starting": true,
                    "weight": 0.1145,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0973,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-28",
                    "opponent": "Villarreal",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.0827,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Rayo Vallecano",
                    "minutes": 57.0,
                    "is_starting": false,
                    "weight": 0.0703,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Real Oviedo",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.0598,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-13",
                    "opponent": "FC Barcelona",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.0508,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Elche",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.0432,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-03-08",
                    "opponent": "Valencia",
                    "minutes": 30.0,
                    "is_starting": true,
                    "weight": 0.0367,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 18.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 0.9334,
                  "aerialWon": 0.2681,
                  "totalClearance_p90": 2.4533,
                  "totalTackle": 1.0318,
                  "totalTackle_p90": 3.3839
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.380437433719635,
                    "model_output": 0.3804,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2892
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0467
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0256
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0216
                      }
                    ],
                    "decomposition": {
                      "base": 0.8711,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4428
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0239
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0186
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0117
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0092
                        }
                      ],
                      "others": 0.0155,
                      "total": 0.3804,
                      "log_link": true,
                      "margin_base": -0.137969,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.709925
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.057483
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.04714
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.030834
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.025002
                        }
                      ],
                      "others_margin": 0.04192
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.6724844574928284,
                    "model_output": 0.6725,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2446
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0686
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0555
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0437
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0249
                      }
                    ],
                    "decomposition": {
                      "base": 1.3875,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7768
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0348
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0254
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0171
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0162
                        }
                      ],
                      "others": 0.0025,
                      "total": 0.6725,
                      "log_link": true,
                      "margin_base": 0.327503,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.820611
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.055416
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.038632
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.025758
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.024497
                        }
                      ],
                      "others_margin": 0.003546
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.4206598699092865,
                    "model_output": 0.4207,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1951
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0637
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0498
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0427
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 0.8482,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4648
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0218
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0169
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0131
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0123
                        }
                      ],
                      "others": -0.0268,
                      "total": 0.4207,
                      "log_link": true,
                      "margin_base": -0.164613,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.794126
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.055239
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.040961
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.030603
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.027943
                        }
                      ],
                      "others_margin": -0.061937
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 0.75318843126297,
                    "model_output": 0.7532,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2927
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1441
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.033
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0239
                      }
                    ],
                    "decomposition": {
                      "base": 3.4157,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.1293
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.2984
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.1032
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.068
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0526
                        }
                      ],
                      "others": -0.011,
                      "total": 0.7532,
                      "log_link": true,
                      "margin_base": 1.228383,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.976569
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.263956
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.110325
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.079997
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.066569
                        }
                      ],
                      "others_margin": -0.014407
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.31143224239349365,
                    "model_output": 0.3114,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1566
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1557
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0794
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0422
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.027
                      }
                    ],
                    "decomposition": {
                      "base": 1.3697,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7624
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.214
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0399
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0205
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0186
                        }
                      ],
                      "others": -0.0401,
                      "total": 0.3114,
                      "log_link": true,
                      "margin_base": 0.314594,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.813259
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.434402
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.106853
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.059716
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.0544
                        }
                      ],
                      "others_margin": -0.121339
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.16801504790782928,
                    "model_output": 0.168,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0952
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0683
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0339
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0311
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0287
                      }
                    ],
                    "decomposition": {
                      "base": 0.4812,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2313
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0246
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0207
                        },
                        {
                          "name": "rating",
                          "contribution": -0.018
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0147
                        }
                      ],
                      "others": -0.0039,
                      "total": 0.168,
                      "log_link": false,
                      "margin_base": 0.481248,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.231259
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.024592
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.020726
                        },
                        {
                          "name": "rating",
                          "margin": -0.018025
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.014725
                        }
                      ],
                      "others_margin": -0.003906
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.64457368850708,
                    "model_output": 6.6446,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "accuratePass",
                        "importance": 0.0681
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.063
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.057
                      },
                      {
                        "name": "rating",
                        "importance": 0.0377
                      },
                      {
                        "name": "touches",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 6.7988,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": -0.0429
                        },
                        {
                          "name": "rating",
                          "contribution": -0.022
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0195
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0183
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0128
                        }
                      ],
                      "others": -0.0387,
                      "total": 6.6446,
                      "log_link": false,
                      "margin_base": 6.798781,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": -0.04295
                        },
                        {
                          "name": "rating",
                          "margin": -0.022049
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.019459
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.018301
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.012817
                        }
                      ],
                      "others_margin": -0.038631
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 18,
                  "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 0.9956, quality 0.437)",
              "stats": {
                "interceptions": 0.3788,
                "tackles": 0.6695,
                "tackles_won": 0.4188,
                "clearances": 0.7499,
                "aerial_won": 0.3101,
                "total_shots": 0.1673,
                "rating": 6.6446,
                "minutes": 23.79,
                "total_pass": 8.7251,
                "accurate_pass": 6.7684,
                "duels_won": 1.5598,
                "total_long_balls": 1.0542,
                "accurate_long_balls": 0.5969,
                "total_own_half_passes": 2.4845,
                "accurate_own_half_passes": 2.1723,
                "total_opp_half_passes": 6.2406,
                "accurate_opp_half_passes": 4.5961,
                "crosses_total": 0.2331,
                "crosses_accurate": 0.0887,
                "touches": 13.5885,
                "possession_lost": 2.9723,
                "dispossessed": 0.3957,
                "duels_lost": 1.752,
                "aerial_lost": 0.4099,
                "total_contest": 0.3717,
                "won_contest": 0.1444,
                "ball_recovery": 1.1341,
                "challenges_lost": 0.1698,
                "fouls": 0.5492,
                "fouls_drawn": 0.3999,
                "blocks": 0.2265,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0139,
                "expected_assists": 0.0086,
                "shots_on_target": 0.0285,
                "big_chances_created": 0.0,
                "xgot": 0.0082,
                "ball_carries": 3.6449,
                "total_progression": 8.3102,
                "progressive_carries": 0.2809,
                "key_pass": 0.211,
                "shots_off_target": 0.1388
              },
              "params": {
                "market_value_eur": 960000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9956,
                "reference_quality": 0.505,
                "history_matches": 18,
                "history_shrink": 0.2174,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0019)",
              "stats": {
                "interceptions": 0.3781,
                "tackles": 0.6695,
                "tackles_won": 0.418,
                "clearances": 0.7499,
                "aerial_won": 0.3101,
                "total_shots": 0.167,
                "rating": 6.6446,
                "minutes": 23.79,
                "total_pass": 8.7251,
                "accurate_pass": 6.7684,
                "duels_won": 1.5598,
                "total_long_balls": 1.0542,
                "accurate_long_balls": 0.5969,
                "total_own_half_passes": 2.4845,
                "accurate_own_half_passes": 2.1723,
                "total_opp_half_passes": 6.2406,
                "accurate_opp_half_passes": 4.5961,
                "crosses_total": 0.2327,
                "crosses_accurate": 0.0887,
                "touches": 13.5885,
                "possession_lost": 2.9723,
                "dispossessed": 0.3957,
                "duels_lost": 1.752,
                "aerial_lost": 0.4099,
                "total_contest": 0.3717,
                "won_contest": 0.1444,
                "ball_recovery": 1.1341,
                "challenges_lost": 0.1698,
                "fouls": 0.5482,
                "fouls_drawn": 0.3991,
                "blocks": 0.2265,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0139,
                "expected_assists": 0.0086,
                "shots_on_target": 0.0284,
                "big_chances_created": 0.0,
                "xgot": 0.0082,
                "ball_carries": 3.6449,
                "total_progression": 8.3102,
                "progressive_carries": 0.2809,
                "key_pass": 0.211,
                "shots_off_target": 0.1388
              },
              "params": {
                "blend_weight": 0.0019,
                "history_matches": 18,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2643,
                "prior_reliability": 0.0133,
                "competition": "La Liga",
                "squad": "Alavés"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 23.8 to 17.1 expected minutes (appearance prob 0.60)",
              "stats": {
                "interceptions": 0.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.01,
                "expected_assists": 0.0062,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0059,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11
              },
              "params": {
                "expected_minutes": 17.11,
                "projection_minutes": 23.79,
                "minutes_scale": 0.7192,
                "appearance_probability": 0.602
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.01,
                "expected_assists": 0.0062,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0059,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.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": {
                "interceptions": 0.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.01,
                "expected_assists": 0.0062,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0059,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "interceptions": 0.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0092,
                "expected_assists": 0.006,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0054,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.8333,
                "creation_factor": 0.8897
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 0.602
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 17 by projected rating, fifa_overall 79.0)",
              "stats": {
                "interceptions": 0.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0092,
                "expected_assists": 0.006,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0054,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.8333,
                "creation_factor": 0.8897,
                "fifa_overall": 79.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 2159,
                "fifa_rank": 934.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.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0092,
                "expected_assists": 0.006,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0054,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0091,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8333,
                "creation_factor": 0.8897,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0091,
                "goal_rate": 0.0,
                "scorer_weight": 0.0077,
                "squad_weight_total": 1.4144,
                "weight_share": 0.0054,
                "finishing_factor": 0.8333,
                "appearance_weight": 0.602,
                "weight_rank": 14,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.2719,
                "tackles": 0.4815,
                "tackles_won": 0.3006,
                "clearances": 0.5393,
                "aerial_won": 0.223,
                "total_shots": 0.1203,
                "rating": 6.6446,
                "minutes": 17.11,
                "total_pass": 6.2752,
                "accurate_pass": 4.8679,
                "duels_won": 1.1218,
                "total_long_balls": 0.7582,
                "accurate_long_balls": 0.4293,
                "total_own_half_passes": 1.7869,
                "accurate_own_half_passes": 1.5623,
                "total_opp_half_passes": 4.4883,
                "accurate_opp_half_passes": 3.3056,
                "crosses_total": 0.1674,
                "crosses_accurate": 0.0638,
                "touches": 9.773,
                "possession_lost": 2.1377,
                "dispossessed": 0.3957,
                "duels_lost": 1.2601,
                "aerial_lost": 0.4099,
                "total_contest": 0.2673,
                "won_contest": 0.1039,
                "ball_recovery": 0.8157,
                "challenges_lost": 0.1698,
                "fouls": 0.3943,
                "fouls_drawn": 0.287,
                "blocks": 0.1629,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0092,
                "expected_assists": 0.006,
                "shots_on_target": 0.0204,
                "big_chances_created": 0.0,
                "xgot": 0.0054,
                "ball_carries": 2.6214,
                "total_progression": 5.9768,
                "progressive_carries": 0.202,
                "key_pass": 0.1518,
                "shots_off_target": 0.0998,
                "bench_appearance_probability": 0.602,
                "bench_expected_minutes": 17.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0091,
                "projected_assists": 0,
                "assist_probability": 0.006,
                "finishing_factor": 0.8333,
                "creation_factor": 0.8897,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.006,
                "assist_rate": 0.0,
                "provider_weight": 0.0053,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0064,
                "creation_factor": 0.8897,
                "appearance_weight": 0.602,
                "weight_rank": 14,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Miguel Rodríguez": {
          "player_id": 1014118,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 179,
          "market_value": 4600000,
          "stats": {
            "expected_goals": 0.0789,
            "goal_rate": 0.1104,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0415,
            "key_pass": 1,
            "rating": 6.6751,
            "minutes": 25,
            "total_pass": 3,
            "accurate_pass": 2,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 8,
            "possession_lost": 3.1464,
            "dispossessed": 0.7705,
            "duels_lost": 2,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "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": 3,
            "total_progression": 23,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.562,
            "bench_expected_minutes": 25.37,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.886,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0736,
            "projected_assists": 0,
            "assist_probability": 0.04,
            "finishing_factor": 1.1288,
            "creation_factor": 0.8,
            "fifa_overall": 72.0
          },
          "latest_10_games": [
            {
              "match_id": 16416334.0,
              "match_date": "2026-09-15",
              "home_team": "Deportivo Alavés",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Valencia",
              "stats": {
                "minutes": 11,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0172,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416328.0,
              "match_date": "2026-09-12",
              "home_team": "Real Racing Club",
              "away_team": "Deportivo Alavés",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0091,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416318.0,
              "match_date": "2026-09-06",
              "home_team": "Deportivo Alavés",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo Alavés",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 12,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0,
                "total_pass": 1,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4196,
            "combined_rank_score": 2227.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 4258.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6751,
            "source_file": "data/player_rankings.csv",
            "player_name": "Miguel Rodríguez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "José Sosa",
                  "ranking": 4191
                },
                {
                  "player_name": "Jason Knight",
                  "ranking": 4192
                },
                {
                  "player_name": "Pablo Marín",
                  "ranking": 4193
                },
                {
                  "player_name": "Yvan Neyou",
                  "ranking": 4194
                },
                {
                  "player_name": "Sidiki Cherif",
                  "ranking": 4195
                }
              ],
              "lower": [
                {
                  "player_name": "Federico Navarro",
                  "ranking": 4197
                },
                {
                  "player_name": "Yukinari Sugawara",
                  "ranking": 4198
                },
                {
                  "player_name": "Patrick Pentz",
                  "ranking": 4199
                },
                {
                  "player_name": "Álex Sancris",
                  "ranking": 4200
                },
                {
                  "player_name": "Bartosz Slisz",
                  "ranking": 4201
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "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": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 25.37070150421028,
            "bench_appearance_prob": 0.56230461382774,
            "market_value_adjustment": 0.991,
            "fbref_prior_metrics": {
              "squad": "Alavés",
              "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 F_service (3 historical appearances) to 25.4 expected mins (appearance prob 0.56); 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.062,
                "goals": 0.0742,
                "goal_rate": 0.0742,
                "shots_on_target": 0.2337,
                "total_shots": 0.5822,
                "expected_assists": 0.0311,
                "key_pass": 0.3875,
                "rating": 6.6751,
                "minutes": 12.79,
                "total_pass": 2.1662,
                "accurate_pass": 1.4966,
                "duels_won": 0.7775,
                "total_long_balls": 0.3304,
                "accurate_long_balls": 0.3304,
                "total_opp_half_passes": 2.1662,
                "accurate_opp_half_passes": 1.4966,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 5.449,
                "possession_lost": 2.1166,
                "dispossessed": 0.7775,
                "duels_lost": 1.0583,
                "aerial_lost": 0.2809,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.1662,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.3887,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.3887,
                "tackles": 0.3887,
                "clearances": 0.2809,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 1.8853,
                "total_progression": 15.6129,
                "progressive_carries": 0.3887,
                "shots_off_target": 0.3485
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-11-03T11:06:26.876327+00:00",
                  "trained_on": {
                    "matches": 1441,
                    "players": 612,
                    "rows": 17180
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-15",
                    "opponent": "Valencia",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Real Racing Club",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Osasuna",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.2809,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "accuratePass": 1.4966,
                  "expectedGoals": 0.0,
                  "accurateOppositionHalfPasses": 1.4966,
                  "totalShots": 0.0,
                  "totalOppositionHalfPasses": 2.1662
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.06196950376033783,
                    "model_output": 0.062,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2767
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0987
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.036
                      },
                      {
                        "name": "goals",
                        "importance": 0.0336
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.1929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0865
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0155
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0068
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0043
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0038
                        }
                      ],
                      "others": -0.014,
                      "total": 0.062,
                      "log_link": true,
                      "margin_base": -1.645586,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.59466
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.157111
                        },
                        {
                          "name": "goals",
                          "margin": -0.07813
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.052256
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.048337
                        }
                      ],
                      "others_margin": -0.205034
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.074221171438694,
                    "model_output": 0.0742,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1491
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0805
                      },
                      {
                        "name": "goals",
                        "importance": 0.056
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0343
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0288
                      }
                    ],
                    "decomposition": {
                      "base": 0.1972,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.072
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0124
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0095
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0084
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0073
                        }
                      ],
                      "others": -0.0134,
                      "total": 0.0742,
                      "log_link": true,
                      "margin_base": -1.623746,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.454464
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.104669
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.087583
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.084866
                        },
                        {
                          "name": "goals",
                          "margin": -0.079686
                        }
                      ],
                      "others_margin": -0.165692
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.2337111234664917,
                    "model_output": 0.2337,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2173
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0637
                      },
                      {
                        "name": "goals",
                        "importance": 0.0596
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0393
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.5269,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2154
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0243
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.013
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0123
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0109
                        }
                      ],
                      "others": -0.0173,
                      "total": 0.2337,
                      "log_link": true,
                      "margin_base": -0.640773,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.52566
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.081313
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.046201
                        },
                        {
                          "name": "goals",
                          "margin": -0.045832
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.04251
                        }
                      ],
                      "others_margin": -0.07138
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5822296738624573,
                    "model_output": 0.5822,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.3005
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0627
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0526
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0309
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0307
                      }
                    ],
                    "decomposition": {
                      "base": 1.3756,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4548
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1213
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0524
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0415
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0329
                        }
                      ],
                      "others": -0.1563,
                      "total": 0.5822,
                      "log_link": false,
                      "margin_base": 1.375643,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.454848
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.121294
                        },
                        {
                          "name": "goals",
                          "margin": -0.052354
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.041466
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.032859
                        }
                      ],
                      "others_margin": -0.15631
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03111160732805729,
                    "model_output": 0.0311,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1287
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1119
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0634
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.051
                      }
                    ],
                    "decomposition": {
                      "base": 0.065,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0176
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0118
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0051
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0034
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0027
                        }
                      ],
                      "others": 0.0067,
                      "total": 0.0311,
                      "log_link": true,
                      "margin_base": -2.733324,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.316524
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.285644
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.153857
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.119158
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.102979
                        }
                      ],
                      "others_margin": 0.241311
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.387543648481369,
                    "model_output": 0.3875,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1579
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.1341
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0953
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.069
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0295
                      }
                    ],
                    "decomposition": {
                      "base": 0.6917,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2795
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0521
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0317
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0293
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0247
                        }
                      ],
                      "others": 0.0089,
                      "total": 0.3875,
                      "log_link": true,
                      "margin_base": -0.368585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.517613
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.119085
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.070658
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.070011
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.063155
                        }
                      ],
                      "others_margin": 0.02301
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.67508602142334,
                    "model_output": 6.6751,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.048
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0462
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0455
                      },
                      {
                        "name": "rating",
                        "importance": 0.0455
                      }
                    ],
                    "decomposition": {
                      "base": 6.7733,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0481
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0329
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0152
                        },
                        {
                          "name": "touches",
                          "contribution": -0.0099
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0098
                        }
                      ],
                      "others": -0.0481,
                      "total": 6.6751,
                      "log_link": false,
                      "margin_base": 6.773334,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.048098
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.032875
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.015186
                        },
                        {
                          "name": "touches",
                          "margin": -0.009925
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.009848
                        }
                      ],
                      "others_margin": -0.048067
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 3,
                  "role_matches": 3,
                  "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.9910, quality 0.457)",
              "stats": {
                "expected_goals": 0.0614,
                "goals": 0.0736,
                "goal_rate": 0.0736,
                "shots_on_target": 0.2316,
                "total_shots": 0.577,
                "expected_assists": 0.0308,
                "key_pass": 0.3841,
                "rating": 6.6751,
                "minutes": 12.79,
                "total_pass": 2.1467,
                "accurate_pass": 1.4831,
                "duels_won": 0.7705,
                "total_long_balls": 0.3274,
                "accurate_long_balls": 0.3274,
                "total_opp_half_passes": 2.1467,
                "accurate_opp_half_passes": 1.4831,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 5.4,
                "possession_lost": 2.0976,
                "dispossessed": 0.7705,
                "duels_lost": 1.0488,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.1557,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.3852,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.3852,
                "tackles": 0.3852,
                "clearances": 0.2784,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 1.8683,
                "total_progression": 15.4724,
                "progressive_carries": 0.3852,
                "shots_off_target": 0.3454
              },
              "params": {
                "market_value_eur": 4600000,
                "quality_factor": 0.4572,
                "boost_factor": 0.991,
                "reference_quality": 0.505,
                "history_matches": 3,
                "history_shrink": 0.625,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 12.8 to 25.4 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0921,
                "goals": 0.1104,
                "goal_rate": 0.1104,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0462,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37
              },
              "params": {
                "expected_minutes": 25.37,
                "projection_minutes": 12.79,
                "minutes_scale": 1.5,
                "appearance_probability": 0.562
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0921,
                "goals": 0.1104,
                "goal_rate": 0.1104,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0462,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.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 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.0921,
                "goal_rate": 0.1104,
                "goals": 0,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0462,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.38 (squad xG sum 0.9047, xG scale 1.5243, xA scale 1.5964, team xA 0.90 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.0789,
                "goal_rate": 0.1104,
                "goals": 0,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0415,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.1288,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.379,
                "squad_xg_sum": 0.9047,
                "squad_xa_sum": 0.5615,
                "team_expected_assists": 0.8963,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.5243,
                "xa_scale": 1.5964,
                "opponent_lambda": 1.604,
                "scoreline_reset": true,
                "appearance_weight": 0.562
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0921,
                  "after": 0.0789
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 15 by projected rating, fifa_overall 72.0)",
              "stats": {
                "expected_goals": 0.0789,
                "goal_rate": 0.1104,
                "goals": 0,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0415,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "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.1288,
                "creation_factor": 0.8,
                "fifa_overall": 72.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": 4196,
                "fifa_rank": 4258.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 72.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.0789,
                "goal_rate": 0.1104,
                "goals": 0,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0415,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0736,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1288,
                "creation_factor": 0.8,
                "fifa_overall": 72.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0736,
                "goal_rate": 0.1104,
                "scorer_weight": 0.0891,
                "squad_weight_total": 1.4144,
                "weight_share": 0.063,
                "finishing_factor": 1.1288,
                "appearance_weight": 0.562,
                "weight_rank": 5,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Lucas Boyé",
                    "weight": 0.452,
                    "already": 0,
                    "effective_weight": 0.452,
                    "runner_up": "Ángel Pérez",
                    "runner_up_effective_weight": 0.1844
                  }
                ]
              }
            },
            {
              "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.0789,
                "goal_rate": 0.1104,
                "goals": 0,
                "shots_on_target": 0.3474,
                "total_shots": 0.8655,
                "expected_assists": 0.0415,
                "key_pass": 0.5761,
                "rating": 6.6751,
                "minutes": 25.37,
                "total_pass": 3.2201,
                "accurate_pass": 2.2247,
                "duels_won": 1.1557,
                "total_long_balls": 0.4911,
                "accurate_long_balls": 0.4911,
                "total_opp_half_passes": 3.2201,
                "accurate_opp_half_passes": 2.2247,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.1,
                "possession_lost": 3.1464,
                "dispossessed": 0.7705,
                "duels_lost": 1.5732,
                "aerial_lost": 0.2784,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 1.7335,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.5778,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5778,
                "tackles": 0.5778,
                "clearances": 0.4176,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.8025,
                "total_progression": 23.2086,
                "progressive_carries": 0.5778,
                "shots_off_target": 0.5181,
                "bench_appearance_probability": 0.562,
                "bench_expected_minutes": 25.37,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.886,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0736,
                "projected_assists": 0,
                "assist_probability": 0.04,
                "finishing_factor": 1.1288,
                "creation_factor": 0.8,
                "fifa_overall": 72.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.04,
                "assist_rate": 0.0,
                "provider_weight": 0.0332,
                "squad_weight_total": 0.8284,
                "weight_share": 0.0401,
                "creation_factor": 0.8,
                "appearance_weight": 0.562,
                "weight_rank": 8,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Ángel Pérez",
                    "weight": 0.2341,
                    "already": 0,
                    "effective_weight": 0.2341,
                    "runner_up": "Pablo Ibáñez",
                    "runner_up_effective_weight": 0.1126,
                    "blocked_own_goal": [
                      "Lucas Boyé"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 1,
        "expected_goals": 1.38,
        "expected_assists": 0.9,
        "total_shots": 10,
        "shots_on_target": 2,
        "total_passes": 381,
        "interceptions": 9,
        "tackles": 18,
        "avg_rating": 6.82,
        "possession_estimated_pct": 49.2,
        "pressing_actions_per_90": 6.6
      }
    }
  },
  "antagonist_report": {
    "home_attacking_duels": [
      {
        "attacker": "Peque Fernández",
        "attacker_role": "LW",
        "attacker_market_value": 3300000,
        "attacker_height": 168,
        "attacker_skill_quality": 0.441,
        "defenders": [
          "Jonny Otto",
          "Facundo Garcés"
        ],
        "defender_roles": [
          "RWB",
          "CB"
        ],
        "def_skill_quality_avg": 0.437,
        "duel_zone": "LW vs RWB + CB",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.242,
        "xg_contribution": 0.1067,
        "xg_multiplier": 0.9143,
        "shots_in_zone": 1.4,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 0.8,
        "crosses_in_zone": 1.9,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Jonny Otto",
            "role": "RWB",
            "market_value": 2100000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.9,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.758
          },
          {
            "player": "Facundo Garcés",
            "role": "CB",
            "market_value": 1300000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.9,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.758
          }
        ],
        "duel_analysis": "Peque Fernández (LW) faces tough defensive resistance against Jonny Otto and Facundo Garcés in a 2-defender block. Duel win probability: 24%.  Matchup xG multiplier ×0.91 (×1.00 = his usual level). Projected xG contribution: 0.107 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Jon Guridi",
        "attacker_role": "RW",
        "attacker_market_value": 1700000,
        "attacker_height": 179,
        "attacker_skill_quality": 0.437,
        "defenders": [
          "Nahuel Tenaglia",
          "Facundo Garcés"
        ],
        "defender_roles": [
          "LWB",
          "CB"
        ],
        "def_skill_quality_avg": 0.439,
        "duel_zone": "RW vs LWB + CB",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.266,
        "xg_contribution": 0.0894,
        "xg_multiplier": 0.9495,
        "shots_in_zone": 1.4,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 1.9,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Nahuel Tenaglia",
            "role": "LWB",
            "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.5,
            "defensive_success_rate": 0.734
          },
          {
            "player": "Facundo Garcés",
            "role": "CB",
            "market_value": 1300000,
            "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.5,
            "defensive_success_rate": 0.734
          }
        ],
        "duel_analysis": "Jon Guridi (RW) is evenly matched against Nahuel Tenaglia and Facundo Garcés in a 2-defender block. Duel win probability: 27%.  Matchup xG multiplier ×0.95 (×1.00 = his usual level). Projected xG contribution: 0.089 — with neither side clearly dominant."
      },
      {
        "attacker": "Youssouf Fofana",
        "attacker_role": "CAM",
        "attacker_market_value": 16300000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.593,
        "defenders": [
          "Antonio Blanco"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.519,
        "duel_zone": "CAM vs CM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.488,
        "xg_contribution": 0.1545,
        "xg_multiplier": 1.0997,
        "shots_in_zone": 2.4,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.3,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Antonio Blanco",
            "role": "CM",
            "market_value": 9700000,
            "tackles_attempted": 2.0,
            "tackles_won": 1.6,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.512
          }
        ],
        "duel_analysis": "Youssouf Fofana (CAM) is slightly favored against Antonio Blanco in a direct 1v1 contest. Duel win probability: 49%.  Matchup xG multiplier ×1.10 (×1.00 = his usual level). Projected xG contribution: 0.155 — creating consistent moderate threat."
      },
      {
        "attacker": "Miguel Sierra",
        "attacker_role": "ST",
        "attacker_market_value": 7600000,
        "attacker_height": 181,
        "attacker_skill_quality": 0.494,
        "defenders": [
          "Facundo Garcés",
          "Ville Koski"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.445,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.19,
        "xg_contribution": 0.1274,
        "xg_multiplier": 0.985,
        "shots_in_zone": 2.1,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.6,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.5,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Facundo Garcés",
            "role": "CB",
            "market_value": 1300000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.9,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.81
          },
          {
            "player": "Ville Koski",
            "role": "CB",
            "market_value": 4300000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.9,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.81
          }
        ],
        "duel_analysis": "Miguel Sierra (ST) is evenly matched against Facundo Garcés and Ville Koski in a 2-defender block. Duel win probability: 19%.  Matchup xG multiplier ×0.99 (×1.00 = his usual level). Projected xG contribution: 0.127 — with neither side clearly dominant."
      },
      {
        "attacker": "Lucien Agoumé",
        "attacker_role": "CDM",
        "attacker_market_value": 18500000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.616,
        "defenders": [
          "Pablo Ibáñez"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.451,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.529,
        "xg_contribution": 0.0514,
        "xg_multiplier": 1.1597,
        "shots_in_zone": 1.1,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.9,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.1,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Pablo Ibáñez",
            "role": "CDM",
            "market_value": 4099999,
            "tackles_attempted": 1.9,
            "tackles_won": 1.5,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.471
          }
        ],
        "duel_analysis": "Lucien Agoumé (CDM) is slightly favored against Pablo Ibáñez in a direct 1v1 contest. Duel win probability: 53%.  Matchup xG multiplier ×1.16 (×1.00 = his usual level). Projected xG contribution: 0.051 — creating consistent moderate threat."
      },
      {
        "attacker": "Giorgi Kochorashvili",
        "attacker_role": "CDM",
        "attacker_market_value": 4300000,
        "attacker_height": 176,
        "attacker_skill_quality": 0.454,
        "defenders": [
          "Pablo Ibáñez"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.451,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.409,
        "xg_contribution": 0.0474,
        "xg_multiplier": 0.9843,
        "shots_in_zone": 1.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Pablo Ibáñez",
            "role": "CDM",
            "market_value": 4099999,
            "tackles_attempted": 1.9,
            "tackles_won": 1.6,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.591
          }
        ],
        "duel_analysis": "Giorgi Kochorashvili (CDM) is evenly matched against Pablo Ibáñez in a direct 1v1 contest. Duel win probability: 41%.  Matchup xG multiplier ×0.98 (×1.00 = his usual level). Projected xG contribution: 0.047 — with neither side clearly dominant."
      }
    ],
    "away_attacking_duels": [
      {
        "attacker": "Lucas Boyé",
        "attacker_role": "ST",
        "attacker_market_value": 5300000,
        "attacker_height": 183,
        "attacker_skill_quality": 0.466,
        "defenders": [
          "Kike Salas",
          "Marcão"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.51,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.2864,
        "xg_multiplier": 0.9364,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.7,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.5,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Kike Salas",
            "role": "CB",
            "market_value": 15400000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.9,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Marcão",
            "role": "CB",
            "market_value": 2600000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.9,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Lucas Boyé (ST) faces tough defensive resistance against Kike Salas and Marcão in a 2-defender block. Duel win probability: 18%.  Matchup xG multiplier ×0.94 (×1.00 = his usual level). Projected xG contribution: 0.286 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Abderrahman Rebbach",
        "attacker_role": "ST",
        "attacker_market_value": 2400000,
        "attacker_height": 176,
        "attacker_skill_quality": 0.437,
        "defenders": [
          "Kike Salas",
          "Marcão"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.51,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.0856,
        "xg_multiplier": 0.8765,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.4,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Kike Salas",
            "role": "CB",
            "market_value": 15400000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.9,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Marcão",
            "role": "CB",
            "market_value": 2600000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.9,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Abderrahman Rebbach (ST) faces tough defensive resistance against Kike Salas and Marcão in a 2-defender block. Duel win probability: 18%.  Matchup xG multiplier ×0.88 (×1.00 = his usual level). Projected xG contribution: 0.086 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Nahuel Tenaglia",
        "attacker_role": "LWB",
        "attacker_market_value": 3200000,
        "attacker_height": 182,
        "attacker_skill_quality": 0.44,
        "defenders": [
          "Juan Iglesias"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.472,
        "duel_zone": "Left Wingback vs Right Back — Overlapping Run",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.368,
        "xg_contribution": 0.0468,
        "xg_multiplier": 0.9524,
        "shots_in_zone": 0.9,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 1.1,
        "crosses_in_zone": 2.2,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Juan Iglesias",
            "role": "RB",
            "market_value": 5800000,
            "tackles_attempted": 2.0,
            "tackles_won": 1.6,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.632
          }
        ],
        "duel_analysis": "Nahuel Tenaglia (LWB) is evenly matched against Juan Iglesias in a direct 1v1 contest. Duel win probability: 37%.  Matchup xG multiplier ×0.95 (×1.00 = his usual level). Projected xG contribution: 0.047 — with neither side clearly dominant."
      },
      {
        "attacker": "Jonny Otto",
        "attacker_role": "RWB",
        "attacker_market_value": 2100000,
        "attacker_height": 175,
        "attacker_skill_quality": 0.437,
        "defenders": [
          "Gabriel Suazo"
        ],
        "defender_roles": [
          "LB"
        ],
        "def_skill_quality_avg": 0.494,
        "duel_zone": "Right Wingback vs Left Back — Overlapping Run",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.345,
        "xg_contribution": 0.0113,
        "xg_multiplier": 0.9195,
        "shots_in_zone": 0.9,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 2.2,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Gabriel Suazo",
            "role": "LB",
            "market_value": 7600000,
            "tackles_attempted": 2.0,
            "tackles_won": 1.7,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.655
          }
        ],
        "duel_analysis": "Jonny Otto (RWB) faces tough defensive resistance against Gabriel Suazo in a direct 1v1 contest. Duel win probability: 35%.  Matchup xG multiplier ×0.92 (×1.00 = his usual level). Projected xG contribution: 0.011 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Pablo Ibáñez",
        "attacker_role": "CDM",
        "attacker_market_value": 4099999,
        "attacker_height": 179,
        "attacker_skill_quality": 0.451,
        "defenders": [
          "Lucien Agoumé"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.616,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.311,
        "xg_contribution": 0.0624,
        "xg_multiplier": 0.8403,
        "shots_in_zone": 0.9,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.5,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Lucien Agoumé",
            "role": "CDM",
            "market_value": 18500000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.8,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.689
          }
        ],
        "duel_analysis": "Pablo Ibáñez (CDM) faces tough defensive resistance against Lucien Agoumé in a direct 1v1 contest. Duel win probability: 31%.  Matchup xG multiplier ×0.84 (×1.00 = his usual level). Projected xG contribution: 0.062 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Antonio Blanco",
        "attacker_role": "CM",
        "attacker_market_value": 9700000,
        "attacker_height": 176,
        "attacker_skill_quality": 0.519,
        "defenders": [
          "Lucien Agoumé"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.616,
        "duel_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.362,
        "xg_contribution": 0.0405,
        "xg_multiplier": 0.87,
        "shots_in_zone": 1.5,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Lucien Agoumé",
            "role": "CDM",
            "market_value": 18500000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.7,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.638
          }
        ],
        "duel_analysis": "Antonio Blanco (CM) faces tough defensive resistance against Lucien Agoumé in a direct 1v1 contest. Duel win probability: 36%.  Matchup xG multiplier ×0.87 (×1.00 = his usual level). Projected xG contribution: 0.041 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Ángel Pérez",
        "attacker_role": "CM",
        "attacker_market_value": 4600000,
        "attacker_height": 183,
        "attacker_skill_quality": 0.457,
        "defenders": [
          "Lucien Agoumé"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.616,
        "duel_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.359,
        "xg_contribution": 0.1162,
        "xg_multiplier": 0.8662,
        "shots_in_zone": 1.5,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 1.1,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Lucien Agoumé",
            "role": "CDM",
            "market_value": 18500000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.7,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.641
          }
        ],
        "duel_analysis": "Ángel Pérez (CM) faces tough defensive resistance against Lucien Agoumé in a direct 1v1 contest. Duel win probability: 36%.  Matchup xG multiplier ×0.87 (×1.00 = his usual level). Projected xG contribution: 0.116 — and is restricted in space and time on the ball."
      }
    ],
    "midfield_battle": {
      "home_midfield_power": 0.558,
      "away_midfield_power": 0.476,
      "home_creative_power": 0.417,
      "away_creative_power": 0.483,
      "home_defensive_power": 0.496,
      "away_defensive_power": 0.48,
      "home_dominance_ratio": 0.54,
      "home_midfield_count": 5,
      "away_midfield_count": 3,
      "home_midfield_players": [
        "Lucien Agoumé",
        "Youssouf Fofana",
        "Peque Fernández",
        "Jon Guridi",
        "Giorgi Kochorashvili"
      ],
      "away_midfield_players": [
        "Antonio Blanco",
        "Ángel Pérez",
        "Pablo Ibáñez"
      ],
      "possession_advantage": "neutral",
      "estimated_possession_home_pct": 50.8,
      "estimated_possession_away_pct": 49.2,
      "home_pressing_actions_per_90": 6.8,
      "away_pressing_actions_per_90": 6.6,
      "home_key_passes_projected": 4.0,
      "away_key_passes_projected": 4.4,
      "home_throughball_threat": 1.9,
      "away_throughball_threat": 2.1,
      "key_personal_duel": "Lucien Agoumé vs Antonio Blanco",
      "midfield_lambda_factor_home": 1.004,
      "midfield_lambda_factor_away": 0.99
    },
    "formation_analysis": {
      "home_formation": "4-2-3-1",
      "away_formation": "5-3-2",
      "home_tactical_bonus": 0.0,
      "away_tactical_bonus": 0.0,
      "formation_verdict": "Tactical parity between 4-2-3-1 and 5-3-2. Match outcome driven primarily by individual player quality."
    },
    "home_lambda": 1.604,
    "away_lambda": 1.379,
    "home_top_threat_zones": [
      "CAM vs CM",
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
    ],
    "away_top_threat_zones": [
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
      "Central Mid vs Defensive Mid — Pressing/Creation Duel"
    ],
    "home_player_antagonists": {
      "Peque Fernández": {
        "opponents": [
          "Jonny Otto",
          "Facundo Garcés",
          "Pablo Ibáñez"
        ],
        "primary_zone": "LW vs RWB + CB",
        "source": "attacking_duel, midfield_pairing"
      },
      "Jon Guridi": {
        "opponents": [
          "Nahuel Tenaglia",
          "Facundo Garcés",
          "Antonio Blanco"
        ],
        "primary_zone": "RW vs LWB + CB",
        "source": "attacking_duel, midfield_pairing"
      },
      "Youssouf Fofana": {
        "opponents": [
          "Antonio Blanco",
          "Pablo Ibáñez"
        ],
        "primary_zone": "CAM vs CM",
        "source": "attacking_duel, midfield_pairing"
      },
      "Miguel Sierra": {
        "opponents": [
          "Facundo Garcés",
          "Ville Koski"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Lucien Agoumé": {
        "opponents": [
          "Pablo Ibáñez",
          "Antonio Blanco",
          "Ángel Pérez"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "Giorgi Kochorashvili": {
        "opponents": [
          "Pablo Ibáñez",
          "Ángel Pérez"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "attacking_duel, midfield_pairing"
      },
      "Kike Salas": {
        "opponents": [
          "Lucas Boyé",
          "Abderrahman Rebbach"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Marcão": {
        "opponents": [
          "Lucas Boyé",
          "Abderrahman Rebbach"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Juan Iglesias": {
        "opponents": [
          "Nahuel Tenaglia"
        ],
        "primary_zone": "Left Wingback vs Right Back — Overlapping Run",
        "source": "defensive_duel"
      },
      "Gabriel Suazo": {
        "opponents": [
          "Jonny Otto"
        ],
        "primary_zone": "Right Wingback vs Left Back — Overlapping Run",
        "source": "defensive_duel"
      },
      "Odysseas Vlachodimos": {
        "opponents": [
          "Lucas Boyé",
          "Abderrahman Rebbach"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "away_player_antagonists": {
      "Jonny Otto": {
        "opponents": [
          "Peque Fernández",
          "Gabriel Suazo"
        ],
        "primary_zone": "LW vs RWB + CB",
        "source": "defensive_duel, attacking_duel"
      },
      "Facundo Garcés": {
        "opponents": [
          "Peque Fernández",
          "Jon Guridi",
          "Miguel Sierra"
        ],
        "primary_zone": "LW vs RWB + CB",
        "source": "defensive_duel"
      },
      "Nahuel Tenaglia": {
        "opponents": [
          "Jon Guridi",
          "Juan Iglesias"
        ],
        "primary_zone": "RW vs LWB + CB",
        "source": "defensive_duel, attacking_duel"
      },
      "Antonio Blanco": {
        "opponents": [
          "Youssouf Fofana",
          "Lucien Agoumé",
          "Jon Guridi"
        ],
        "primary_zone": "CAM vs CM",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "Ville Koski": {
        "opponents": [
          "Miguel Sierra"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Pablo Ibáñez": {
        "opponents": [
          "Lucien Agoumé",
          "Giorgi Kochorashvili",
          "Youssouf Fofana",
          "Peque Fernández"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "Lucas Boyé": {
        "opponents": [
          "Kike Salas",
          "Marcão"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Abderrahman Rebbach": {
        "opponents": [
          "Kike Salas",
          "Marcão"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Ángel Pérez": {
        "opponents": [
          "Lucien Agoumé",
          "Giorgi Kochorashvili"
        ],
        "primary_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
        "source": "attacking_duel, midfield_pairing"
      },
      "Antonio Sivera": {
        "opponents": [
          "Miguel Sierra",
          "Youssouf Fofana"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Nicolás Valentini": {
        "opponents": [
          "Miguel Sierra"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "key_tactical_insight": "Midfield is evenly contested — Lucien Agoumé vs Antonio Blanco will be the pivotal duel. Total antagonist xG — Home: 0.58, Away: 0.65. Home danger zone: CAM vs CM. 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.9975,
      "away_gk_opposition_factor": 1.0096,
      "home_set_piece_bonus": 0.026,
      "away_set_piece_bonus": 0.051,
      "home_defensive_solidity_vs": 0.9999,
      "away_defensive_solidity_vs": 0.9761,
      "home_midfield_factor": 1.004,
      "away_midfield_factor": 0.99,
      "stage_discount": 1.0,
      "quality_gap_applied": true,
      "home_avg_quality": 0.5022,
      "away_avg_quality": 0.4538,
      "avg_quality_gap": 0.0485,
      "squad_value_gap_log": 0.6197,
      "top5_value_gap_log": 0.6852,
      "attack_value_gap_log": 0.536,
      "elite_count_gap": 0,
      "combined_quality_gap": 0.1253,
      "stronger_lambda_boost": 0.0689,
      "weaker_lambda_suppression": 0.0401,
      "home_lambda_chain": [
        {
          "label": "league_anchor",
          "value": 1.35
        },
        {
          "label": "duel_blend",
          "raw_xg": 0.5768,
          "n_duels": 6,
          "duel_confidence": 0.75,
          "result": 0.7701
        },
        {
          "label": "midfield_factor",
          "factor": 1.004,
          "result": 0.7732
        },
        {
          "label": "formation_bonus",
          "factor": 1.0,
          "result": 0.7732
        },
        {
          "label": "home_advantage",
          "factor": 1.3418,
          "result": 1.0374
        },
        {
          "label": "standing_factor",
          "factor": 1.0027,
          "result": 1.0402
        },
        {
          "label": "gk_opposition",
          "factor": 0.9975,
          "result": 1.0376
        },
        {
          "label": "defensive_solidity",
          "factor": 0.9999,
          "result": 1.0375
        },
        {
          "label": "set_piece_bonus",
          "bonus": 0.026,
          "result": 1.0635
        },
        {
          "label": "engine_clamp",
          "pre": 1.0635,
          "result": 1.0635,
          "band": [
            0.6,
            4.0
          ],
          "clamped": false
        },
        {
          "label": "quality_gap",
          "applied": true,
          "combined_quality_gap": 0.1253,
          "factor": 1.0689,
          "pre": 1.0635,
          "result": 1.1368
        },
        {
          "label": "stage_discount",
          "applied": false,
          "factor": 1.0,
          "result": 1.1368
        },
        {
          "label": "bench_bonus",
          "side": "home",
          "bonus": 0.1562,
          "result": 1.2932
        },
        {
          "label": "fbref_blend",
          "side": "home",
          "applied": true,
          "blending_weight": 0.228,
          "empirical_lambda": 2.4741,
          "result": 1.5624
        },
        {
          "label": "router_clamp",
          "pre": 1.5624,
          "result": 1.562,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "second_leg",
          "applied": true,
          "factor": 0.97,
          "result": 1.515
        },
        {
          "label": "h2h_adjustment",
          "applied": true,
          "multiplier": 0.9857,
          "pre": 1.515,
          "result": 1.4933,
          "available": true
        },
        {
          "label": "mismatch_pressure",
          "applied": false,
          "reason": "quality gap below 0.30",
          "result": 1.493
        },
        {
          "label": "underdog_floor",
          "applied": false,
          "mode": "disabled_ablation",
          "result": 1.493
        },
        {
          "label": "final_clamp",
          "applied": false,
          "pre": 1.493,
          "result": 1.493,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "competition_calibration",
          "applied": true,
          "reason": "competition_intensity_calibration",
          "samples": 124,
          "scale": 1.015,
          "observed_total_goals": 2.984,
          "result": 1.604
        }
      ],
      "away_lambda_chain": [
        {
          "label": "league_anchor",
          "value": 1.35
        },
        {
          "label": "duel_blend",
          "raw_xg": 0.6492,
          "n_duels": 7,
          "duel_confidence": 0.75,
          "result": 0.8244
        },
        {
          "label": "midfield_factor",
          "factor": 0.99,
          "result": 0.8162
        },
        {
          "label": "formation_bonus",
          "factor": 1.0,
          "result": 0.8162
        },
        {
          "label": "home_advantage",
          "factor": 1.0,
          "result": 0.8162
        },
        {
          "label": "standing_factor",
          "factor": 0.9707,
          "result": 0.7922
        },
        {
          "label": "gk_opposition",
          "factor": 1.0096,
          "result": 0.7999
        },
        {
          "label": "defensive_solidity",
          "factor": 0.9761,
          "result": 0.7808
        },
        {
          "label": "set_piece_bonus",
          "bonus": 0.051,
          "result": 0.8318
        },
        {
          "label": "engine_clamp",
          "pre": 0.8318,
          "result": 0.8318,
          "band": [
            0.6,
            4.0
          ],
          "clamped": false
        },
        {
          "label": "quality_gap",
          "applied": true,
          "combined_quality_gap": 0.1253,
          "factor": 0.9599,
          "pre": 0.8318,
          "result": 0.7984
        },
        {
          "label": "stage_discount",
          "applied": false,
          "factor": 1.0,
          "result": 0.7984
        },
        {
          "label": "bench_bonus",
          "side": "away",
          "bonus": 0.1525,
          "result": 0.9505
        },
        {
          "label": "fbref_blend",
          "side": "away",
          "applied": true,
          "blending_weight": 0.228,
          "empirical_lambda": 2.4691,
          "result": 1.2967
        },
        {
          "label": "router_clamp",
          "pre": 1.2967,
          "result": 1.297,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "second_leg",
          "applied": true,
          "factor": 1.1,
          "result": 1.427
        },
        {
          "label": "h2h_adjustment",
          "applied": true,
          "multiplier": 1.0143,
          "pre": 1.427,
          "result": 1.4474,
          "available": true
        },
        {
          "label": "mismatch_pressure",
          "applied": false,
          "reason": "quality gap below 0.30",
          "result": 1.447
        },
        {
          "label": "underdog_floor",
          "applied": false,
          "mode": "disabled_ablation",
          "result": 1.447
        },
        {
          "label": "final_clamp",
          "applied": false,
          "pre": 1.447,
          "result": 1.447,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "competition_calibration",
          "applied": true,
          "reason": "competition_intensity_calibration",
          "samples": 124,
          "scale": 1.015,
          "observed_total_goals": 2.984,
          "result": 1.379
        }
      ],
      "home_bench_lambda_bonus": 0.1562,
      "away_bench_lambda_bonus": 0.1525,
      "home_bench_players_modelled": 7,
      "away_bench_players_modelled": 7,
      "fbref_team_priors": {
        "applied": true,
        "home_squad": "Sevilla",
        "away_squad": "Deportivo Alavés",
        "home_goals_per90": 2.0,
        "away_goals_against_per90": 1.67,
        "away_goals_per90": 1.6666666666666667,
        "home_goals_against_per90": 2.0,
        "home_empirical_lambda": 2.474,
        "away_empirical_lambda": 2.469,
        "blending_weight": 0.228
      },
      "mismatch_score_pressure_applied": false,
      "competitive_underdog_floor_applied": false,
      "competitive_underdog_floor": 1.0,
      "competitive_underdog_floor_mode": "disabled_ablation",
      "pre_competitive_floor_home_lambda": 1.493,
      "pre_competitive_floor_away_lambda": 1.447,
      "pre_calibration_home_lambda": 1.5624,
      "pre_calibration_away_lambda": 1.2967,
      "competition_calibration_applied": true,
      "competition_calibration_reason": "competition_intensity_calibration",
      "competition_calibration_samples": 124,
      "competition_observed_total_goals": 2.984,
      "competition_calibration_scale": 1.015,
      "neutral_share_preserved": false,
      "final_home_lambda": 1.604,
      "final_away_lambda": 1.379
    }
  },
  "home_standing": {
    "available": true,
    "team_position": 6,
    "opponent_position": 10,
    "standing_lambda_multiplier": 1.0027,
    "attack_index": 1.027,
    "defense_concede_index": 0.969,
    "form_multiplier": 1.022,
    "team_attack_rate_contextual": 1.55,
    "opp_defense_rate_contextual": 1.46,
    "team_ppg": 1.58,
    "opponent_ppg": 1.19
  },
  "away_standing": {
    "available": true,
    "team_position": 10,
    "opponent_position": 6,
    "standing_lambda_multiplier": 0.9707,
    "attack_index": 0.914,
    "defense_concede_index": 1.027,
    "form_multiplier": 0.978,
    "team_attack_rate_contextual": 1.38,
    "opp_defense_rate_contextual": 1.55,
    "team_ppg": 1.19,
    "opponent_ppg": 1.58
  },
  "xgboost_reasoning": {
    "summary": "Antagonist + XGBoost match analysis for Sevilla vs Alavés. Player statistics regressed using position-specific XGBoost models (G, D, M, F) with 2026-2027 FBref priors. Micro-duels resolved across 4-2-3-1 vs 5-3-2 (duel lambdas: Home 1.562, Away 1.297). Final calibrated Poisson lambdas: Home 1.604, Away 1.379 (most likely score 2-1).",
    "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": 8,
      "home_bench_modelled": 7,
      "away_bench_modelled": 7
    },
    "team_priors": {
      "applied": true,
      "home_squad": "Sevilla",
      "away_squad": "Deportivo Alavés",
      "home_goals_per90": 2.0,
      "away_goals_against_per90": 1.67,
      "away_goals_per90": 1.6666666666666667,
      "home_goals_against_per90": 2.0,
      "home_empirical_lambda": 2.474,
      "away_empirical_lambda": 2.469,
      "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.604,
      "away_lambda": 1.379,
      "micro_duel_home_lambda": 1.562,
      "micro_duel_away_lambda": 1.297
    },
    "calibration_and_pressure": {
      "competition_calibration_applied": true,
      "competition_calibration_scale": 1.015,
      "mismatch_pressure_applied": false,
      "underdog_floor_applied": false
    }
  },
  "timestamp": "2026-11-03T14:31:00Z",
  "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
  }
}