{
  "match_info": {
    "home_team": "Valencia",
    "away_team": "Real Sociedad",
    "tournament": "LaLiga",
    "date": "20260920",
    "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": "1-0",
    "home_goals": 1,
    "away_goals": 0,
    "most_likely_score_probability": 0.1339,
    "match_resolution": "regulation",
    "predicted_winner": "Valencia",
    "tiebreaker": {
      "applies": false,
      "method": "none",
      "regulation_draw_probability": 0.2594,
      "shootout_home_win_probability": null,
      "shootout_away_win_probability": null,
      "penalty_home_goals": null,
      "penalty_away_goals": null,
      "penalty_score": null,
      "penalty_winner": null,
      "penalty_winner_goals": null,
      "penalty_loser_goals": null,
      "penalty_result": null,
      "home_advance_probability": null,
      "away_advance_probability": null,
      "projected_winner": null,
      "projected_winner_probability": null,
      "final_score_after_penalties": null,
      "reason": "Tie-breaker not required for this match context."
    },
    "top_5_scorelines": [
      {
        "score": "1-0",
        "probability": 0.1339
      },
      {
        "score": "1-1",
        "probability": 0.122
      },
      {
        "score": "2-0",
        "probability": 0.1033
      },
      {
        "score": "2-1",
        "probability": 0.0928
      },
      {
        "score": "0-0",
        "probability": 0.0888
      }
    ],
    "scoreline_probabilities": {
      "0-0": 0.0888,
      "0-1": 0.0781,
      "0-2": 0.0355,
      "0-3": 0.0106,
      "0-4": 0.0024,
      "1-0": 0.1339,
      "1-1": 0.122,
      "1-2": 0.0544,
      "1-3": 0.0163,
      "1-4": 0.0037,
      "1-5": 0.0007,
      "2-0": 0.1033,
      "2-1": 0.0928,
      "2-2": 0.0417,
      "2-3": 0.0125,
      "2-4": 0.0028,
      "2-5": 0.0005,
      "3-0": 0.0528,
      "3-1": 0.0474,
      "3-2": 0.0213,
      "3-3": 0.0064,
      "3-4": 0.0014,
      "4-0": 0.0202,
      "4-1": 0.0182,
      "4-2": 0.0082,
      "4-3": 0.0024,
      "4-4": 0.0005,
      "5-0": 0.0062,
      "5-1": 0.0056,
      "5-2": 0.0025,
      "5-3": 0.0007,
      "6-0": 0.0016,
      "6-1": 0.0014,
      "6-2": 0.0006
    },
    "outcome": {
      "home_win": 0.5208,
      "draw": 0.2594,
      "away_win": 0.2198
    },
    "markets": {
      "over_2_5_goals": 0.4384,
      "under_2_5_goals": 0.5616,
      "btts_yes": 0.4656,
      "btts_no": 0.5344,
      "home_clean_sheet": 0.4074,
      "away_clean_sheet": 0.2159
    },
    "home_ratings": {
      "DR": 6.71,
      "MCR": 6.99,
      "ATR": 6.89,
      "GK": 6.81
    },
    "away_ratings": {
      "DR": 6.6,
      "MCR": 6.96,
      "ATR": 7.2,
      "GK": 7.12
    },
    "insights": {
      "summary": "Antagonist matchup analysis for Valencia vs Real Sociedad. Most likely scoreline: 1-0. Lambdas derived from 5 home and 5 away individual player duels.",
      "key_player": "Projected scorer(s): Hugo Duro",
      "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 — Javier Guerra vs Jon Gorrotxategi will be the pivotal duel. Total antagonist xG — Home: 0.39, Away: 0.51. Home danger zone: CAM vs CM. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle."
    },
    "confidence": 0.61,
    "home_lambda": 1.533,
    "away_lambda": 0.898,
    "modal_scoreline": null,
    "modal_scoreline_probability": null,
    "headline_policy": null
  },
  "pregame_baseline": {
    "fair_win_probability": {
      "home_win": 0.5208,
      "draw": 0.2594,
      "away_win": 0.2198
    },
    "favorite": "Valencia",
    "favorite_win_probability": 0.5208,
    "fair_spread": 0.635,
    "fair_total": 2.431,
    "prop_estimates": [
      {
        "market": "team_total_goals",
        "selection": "Valencia",
        "estimate": 1.533,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "team_total_goals",
        "selection": "Real Sociedad",
        "estimate": 0.898,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "over_2_5_goals",
        "selection": "yes",
        "estimate": 2.5,
        "probability": 0.4384,
        "unit": "probability"
      },
      {
        "market": "both_teams_to_score",
        "selection": "yes",
        "estimate": 1.0,
        "probability": 0.4656,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Valencia",
        "estimate": 1.0,
        "probability": 0.4074,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Real Sociedad",
        "estimate": 1.0,
        "probability": 0.2159,
        "unit": "probability"
      },
      {
        "market": "anytime_goal",
        "selection": "Javier Guerra (Valencia)",
        "estimate": 0.3021,
        "probability": 0.1228,
        "unit": "xG"
      },
      {
        "market": "anytime_goal",
        "selection": "Orri Óskarsson (Real Sociedad)",
        "estimate": 0.2861,
        "probability": 0.0,
        "unit": "xG"
      },
      {
        "market": "assist",
        "selection": "Diego López (Valencia)",
        "estimate": 0.144,
        "probability": 0.2712,
        "unit": "xA"
      },
      {
        "market": "assist",
        "selection": "Mikel Oyarzabal (Real Sociedad)",
        "estimate": 0.0963,
        "probability": 0.0,
        "unit": "xA"
      }
    ],
    "expected_pace": {
      "tempo": "balanced",
      "expected_total_goals": 2.431,
      "expected_total_shots": 20,
      "expected_total_passes": 733,
      "expected_pressing_actions_per_90": 14.0,
      "possession_home_pct": 49.4,
      "possession_away_pct": 50.6,
      "notes": "possession projects near even"
    },
    "expected_game_script": {
      "favorite": "Valencia",
      "favorite_win_probability": 0.5208,
      "script": "Valencia is the fair winner side, but the baseline remains narrow: fair spread +0.64 goals and fair total 2.43.",
      "first_half": "Expect balanced tempo while both sides test the matchup thesis; shot baseline is about 10 first-half attempts.",
      "second_half": "If level after halftime, midfield control and bench quality should decide territory; Real Sociedad must keep the match inside one goal.",
      "late_game": "A Valencia lead likely shifts toward control and counters; a draw state keeps set pieces and transition chances live."
    },
    "key_matchup_thesis": "Real Sociedad chance creation leans on Mikel Oyarzabal against César Tárrega, Justin De Haas in Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle; possession projects near even.",
    "expected_rotation_usage_behavior": [
      "Valencia: starters carry the main goal usage through Hugo Duro; bench watchlist: André Almeida, Umar Sadiq.",
      "Real Sociedad: starters carry the main goal usage through the highest xG attackers; bench watchlist: Luka Sučić, Arsen Zakharyan, Gorka Carrera Zarranz.",
      "Assist usage should flow through Diego López; late lineup changes should re-score these allocations."
    ],
    "pregame_play_by_play": [
      "0-15: Valencia tries to establish the projected edge; track possession and first-shot share.",
      "15-45: Baseline expects balanced tempo, about 10 total first-half shots, and 1.22 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 Real Sociedad 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 Valencia.",
      "Real Sociedad 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": {
    "Valencia": {
      "formation": "4-2-3-1",
      "players": {
        "Stole Dimitrievski": {
          "player_id": 97951,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 1,
          "height": 188,
          "market_value": 2100000,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0,
            "rating": 6.8132,
            "minutes": 88,
            "total_pass": 32,
            "accurate_pass": 18,
            "duels_won": 0,
            "total_long_balls": 16,
            "accurate_long_balls": 2,
            "touches": 41,
            "clearances": 1,
            "ball_recovery": 9,
            "high_claims": 0,
            "punches": 0.0,
            "aerial_won": 0,
            "sweeper_actions": 2,
            "sweeper_accurate": 2,
            "saves_inside_box": 0,
            "possession_lost": 14.7184,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 20,
            "accurate_own_half_passes": 16,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "total_shots": 0,
            "shots_on_target": 0,
            "goalsAgainst": 1.33,
            "shotsOnTargetAgainst": 4.0,
            "cleanSheets": 0.3333,
            "interceptions": 0,
            "tackles_won": 0,
            "crosses_total": 0,
            "offsides": 0,
            "yellowCards": 0.3333,
            "redCards": 0.0,
            "penaltySave": 0.0,
            "ownGoals": 0.0,
            "savePct": 66.7,
            "cleanSheetPct": 33.3,
            "minutesPct": 100.0,
            "pointsPerMatch": 0.33,
            "netGoalDifferencePer90": 0.0,
            "expected_saves": 1.08,
            "high_pressure_saves": 0.41,
            "shots_faced": 2.3,
            "opponent_faced": "Mikel Oyarzabal, Sergio Gómez",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Valencia",
              "opponent": "Sevilla",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 13,
                "clearances": 2,
                "ball_recovery": 9,
                "saves": 5,
                "goals_prevented": 0.0829
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 21,
                "clearances": 1,
                "ball_recovery": 7,
                "saves": 3,
                "goals_prevented": -2.2955
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 31,
                "accurate_pass": 19,
                "clearances": 2,
                "ball_recovery": 12,
                "saves": 2,
                "goals_prevented": -0.4455
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0032,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 19,
                "clearances": 1,
                "ball_recovery": 8,
                "saves": 3,
                "goals_prevented": 0.0564
              },
              "has_player_stats": true,
              "league_name": "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": 2524,
            "combined_rank_score": 913.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 280.0,
            "sofascore_rating": 7.065,
            "sofascore_appearances": 20.0,
            "fifa_rank": 1546.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "starter",
            "projected_match_rating": 6.8132,
            "source_file": "data/player_rankings.csv",
            "player_name": "Stole Dimitrievski",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Thiago Almada",
                  "ranking": 2519
                },
                {
                  "player_name": "Jacob Ramsey",
                  "ranking": 2520
                },
                {
                  "player_name": "Wilfried Singo",
                  "ranking": 2521
                },
                {
                  "player_name": "Noah Okafor",
                  "ranking": 2522
                },
                {
                  "player_name": "Noah Atubolu",
                  "ranking": 2523
                }
              ],
              "lower": [
                {
                  "player_name": "Samuele Ricci",
                  "ranking": 2525
                },
                {
                  "player_name": "Yahir Salazar",
                  "ranking": 2526
                },
                {
                  "player_name": "Jae-hwan Lee",
                  "ranking": 2527
                },
                {
                  "player_name": "Yanis Lhéry",
                  "ranking": 2528
                },
                {
                  "player_name": "Thomas Kevin Aquilina",
                  "ranking": 2529
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.53,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "G_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "accurateLongBalls",
              "totalOwnHalfPasses",
              "accurateOwnHalfPasses",
              "saves",
              "savedShotsFromInsideTheBox",
              "goodHighClaim",
              "punches",
              "aerialWon",
              "totalKeeperSweeper",
              "accurateKeeperSweeper",
              "totalClearance",
              "ballRecovery",
              "touches",
              "possessionLostCtrl",
              "kilometersCovered",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "gk_coverage",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.53,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (G_service) evaluated 4 historical appearances across 3 target models; FBref 2026-2027 prior blended (La Liga, Valencia, rel: 0.20, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.9436,
                "minutes": 90,
                "total_pass": 33,
                "accurate_pass": 18,
                "duels_won": 0,
                "total_long_balls": 16,
                "accurate_long_balls": 2,
                "touches": 42,
                "clearances": 2,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 0,
                "possession_lost": 15.0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 17
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:40.064367+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 113,
                    "rows": 393
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "sweeper_actions_p90": 1.9469,
                  "touches": 42.9383,
                  "totalOwnHalfPasses": 20.107,
                  "punches": 0.0,
                  "distribution_accuracy": 0.8187,
                  "accurateKeeperSweeper": 1.9469
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 3.4564552307128906,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0587
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0534
                      },
                      {
                        "name": "touches",
                        "importance": 0.0497
                      },
                      {
                        "name": "totalOwnHalfPasses",
                        "importance": 0.049
                      },
                      {
                        "name": "distribution_accuracy",
                        "importance": 0.043
                      }
                    ],
                    "decomposition": {
                      "base": 2.9806,
                      "items": [
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": 0.2508
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.077
                        },
                        {
                          "name": "totalOwnHalfPasses",
                          "contribution": -0.0653
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0635
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0471
                        }
                      ],
                      "others": 0.1028,
                      "total": 3.4565
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": 0.0,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.053
                      },
                      {
                        "name": "punches",
                        "importance": 0.051
                      },
                      {
                        "name": "touches",
                        "importance": 0.0482
                      },
                      {
                        "name": "accurateLongBalls",
                        "importance": 0.0468
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0432
                      }
                    ],
                    "decomposition": {
                      "base": -0.0536,
                      "items": [
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.2656
                        },
                        {
                          "name": "accurateLongBalls",
                          "contribution": -0.162
                        },
                        {
                          "name": "commanding_index",
                          "contribution": -0.076
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0592
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0301
                        }
                      ],
                      "others": -0.0433,
                      "total": -0.6296
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.9435625076293945,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0593
                      },
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "distribution_accuracy",
                        "importance": 0.0484
                      },
                      {
                        "name": "savedShotsFromInsideTheBox",
                        "importance": 0.0468
                      },
                      {
                        "name": "punches",
                        "importance": 0.0464
                      }
                    ],
                    "decomposition": {
                      "base": 7.0716,
                      "items": [
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": 0.1041
                        },
                        {
                          "name": "accurateLongBalls",
                          "contribution": -0.0983
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0894
                        },
                        {
                          "name": "distribution_accuracy",
                          "contribution": 0.0854
                        },
                        {
                          "name": "commanding_index",
                          "contribution": -0.0845
                        }
                      ],
                      "others": -0.0453,
                      "total": 6.9436
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.8132,
                "minutes": 88,
                "total_pass": 32,
                "accurate_pass": 18,
                "duels_won": 0,
                "total_long_balls": 16,
                "accurate_long_balls": 2,
                "touches": 41,
                "clearances": 1,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 0,
                "possession_lost": 14.7184,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 16
              },
              "params": {
                "market_value_eur": 2100000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9812
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0722)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.8132,
                "minutes": 88,
                "total_pass": 32,
                "accurate_pass": 18,
                "duels_won": 0,
                "total_long_balls": 16,
                "accurate_long_balls": 2,
                "touches": 41,
                "clearances": 1,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 0,
                "possession_lost": 14.7184,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 16,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.33,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.3333,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 66.7,
                "cleanSheetPct": 33.3,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": -1.0
              },
              "params": {
                "blend_weight": 0.0722,
                "history_matches": 4,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "saves",
                  "before": 3.3916,
                  "after": 3.3392
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.8132,
                "minutes": 88,
                "total_pass": 32,
                "accurate_pass": 18,
                "duels_won": 0,
                "total_long_balls": 16,
                "accurate_long_balls": 2,
                "touches": 41,
                "clearances": 1,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 0,
                "possession_lost": 14.7184,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 16,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.33,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.3333,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 66.7,
                "cleanSheetPct": 33.3,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0
              },
              "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": 3,
                "goals_prevented": 0.0,
                "rating": 6.8132,
                "minutes": 88,
                "total_pass": 32,
                "accurate_pass": 18,
                "duels_won": 0,
                "total_long_balls": 16,
                "accurate_long_balls": 2,
                "touches": 41,
                "clearances": 1,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 0,
                "possession_lost": 14.7184,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 16,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.33,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.3333,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 66.7,
                "cleanSheetPct": 33.3,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.08,
                "high_pressure_saves": 0.41,
                "shots_faced": 2.3,
                "opponent_faced": "Mikel Oyarzabal, Sergio Gómez",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Mikel Oyarzabal, Sergio Gómez",
                  "matchup_zone": "Goalkeeper shot-stopping context"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.8132,
                "minutes": 88,
                "total_pass": 32,
                "accurate_pass": 18,
                "duels_won": 0,
                "total_long_balls": 16,
                "accurate_long_balls": 2,
                "touches": 41,
                "clearances": 1,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 0,
                "possession_lost": 14.7184,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 16,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.33,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.3333,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 66.7,
                "cleanSheetPct": 33.3,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.08,
                "high_pressure_saves": 0.41,
                "shots_faced": 2.3,
                "opponent_faced": "Mikel Oyarzabal, Sergio Gómez",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0
              },
              "params": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 17, fifa_overall 77.0)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.8132,
                "minutes": 88,
                "total_pass": 32,
                "accurate_pass": 18,
                "duels_won": 0,
                "total_long_balls": 16,
                "accurate_long_balls": 2,
                "touches": 41,
                "clearances": 1,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 0,
                "possession_lost": 14.7184,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 16,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.33,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.3333,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 66.7,
                "cleanSheetPct": 33.3,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.08,
                "high_pressure_saves": 0.41,
                "shots_faced": 2.3,
                "opponent_faced": "Mikel Oyarzabal, Sergio Gómez",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2524,
                "fifa_rank": 1546.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.8132,
                "minutes": 88,
                "total_pass": 32,
                "accurate_pass": 18,
                "duels_won": 0,
                "total_long_balls": 16,
                "accurate_long_balls": 2,
                "touches": 41,
                "clearances": 1,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 0,
                "possession_lost": 14.7184,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 16,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.33,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.3333,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 66.7,
                "cleanSheetPct": 33.3,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.08,
                "high_pressure_saves": 0.41,
                "shots_faced": 2.3,
                "opponent_faced": "Mikel Oyarzabal, Sergio Gómez",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.0,
                "squad_weight_total": 9.6645,
                "weight_share": 0.0,
                "position_multiplier": 0.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.8132,
                "minutes": 88,
                "total_pass": 32,
                "accurate_pass": 18,
                "duels_won": 0,
                "total_long_balls": 16,
                "accurate_long_balls": 2,
                "touches": 41,
                "clearances": 1,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 0,
                "possession_lost": 14.7184,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 16,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.33,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.3333,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 66.7,
                "cleanSheetPct": 33.3,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.08,
                "high_pressure_saves": 0.41,
                "shots_faced": 2.3,
                "opponent_faced": "Mikel Oyarzabal, Sergio Gómez",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0,
                "squad_weight_total": 9.001,
                "weight_share": 0.0,
                "position_multiplier": 0.0
              }
            }
          ]
        },
        "Arnau Martínez": {
          "player_id": 1084081,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 22,
          "height": 181,
          "market_value": 10800000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.6035,
            "minutes": 87,
            "total_pass": 42,
            "accurate_pass": 39,
            "duels_won": 2,
            "total_long_balls": 3,
            "accurate_long_balls": 0,
            "total_own_half_passes": 26,
            "accurate_own_half_passes": 25,
            "total_opp_half_passes": 16,
            "accurate_opp_half_passes": 14,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 62,
            "possession_lost": 8.0763,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0101,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 19,
            "total_progression": 58,
            "progressive_carries": 1,
            "key_pass": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 30.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 2.0,
            "tackles_won_in_zone": 1.8,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.604,
            "opponent_faced": "Jon Aramburu",
            "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.0162,
            "projected_assists": 0,
            "assist_probability": 0.0087,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Valencia",
              "opponent": "Sevilla",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0011,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 18,
                "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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 82,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0251,
                "total_shots": 0,
                "total_pass": 63,
                "accurate_pass": 59,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3113,
            "combined_rank_score": 1076.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 565.0,
            "sofascore_rating": 6.8114,
            "sofascore_appearances": 35.0,
            "fifa_rank": 1587.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "projected_match_rating": 6.6035,
            "source_file": "data/player_rankings.csv",
            "player_name": "Arnau Martínez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Zakaria El Ouahdi",
                  "ranking": 3108
                },
                {
                  "player_name": "Haris Tabaković",
                  "ranking": 3109
                },
                {
                  "player_name": "Guus Til",
                  "ranking": 3110
                },
                {
                  "player_name": "Carlos Álvarez",
                  "ranking": 3111
                },
                {
                  "player_name": "Tsuyoshi Watanabe",
                  "ranking": 3112
                }
              ],
              "lower": [
                {
                  "player_name": "Ayase Ueda",
                  "ranking": 3114
                },
                {
                  "player_name": "Mika Godts",
                  "ranking": 3115
                },
                {
                  "player_name": "Youri Baas",
                  "ranking": 3116
                },
                {
                  "player_name": "Martín Satriano",
                  "ranking": 3117
                },
                {
                  "player_name": "Marcos Leonardo",
                  "ranking": 3118
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.384,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.384,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0095,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 1.0,
              "minutes": 81.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.06
            },
            "rationale": "XGBoost regressor (D_service) evaluated 2 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Valencia, rel: 0.06, 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,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.5411,
                "minutes": 86,
                "total_pass": 42,
                "accurate_pass": 38,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 8.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 58,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.5405,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 82.0,
                    "is_starting": true,
                    "weight": 0.4595,
                    "rating": 6.2
                  }
                ],
                "feature_row": {
                  "history_matches": 2.0,
                  "is_starting_11": 1.0,
                  "touches_p90": 63.586,
                  "accuratePass": 36.8378,
                  "possessionLostCtrl": 7.9189,
                  "totalClearance": 1.0811,
                  "totalClearance_p90": 1.0811
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9050541520118713,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0472
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0388
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0208
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": -0.0158
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0115
                        }
                      ],
                      "others": -0.0436,
                      "total": 0.9051
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.2693930864334106,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0769
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0536
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0338
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0325
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0313
                        }
                      ],
                      "others": -0.0116,
                      "total": 1.2694
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.7092451453208923,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0767
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0419
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0354
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0323
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.024
                        }
                      ],
                      "others": -0.0188,
                      "total": 0.7092
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.2486047744750977,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.6224
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.4698
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.3572
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.29
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": -0.1252
                        }
                      ],
                      "others": -0.2492,
                      "total": 3.2486
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.9780852198600769,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.0897
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0628
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0451
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0445
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0372
                        }
                      ],
                      "others": -0.0737,
                      "total": 0.9781
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.365579217672348,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0329
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0327
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0228
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0187
                        },
                        {
                          "name": "duelWon",
                          "contribution": -0.0164
                        }
                      ],
                      "others": -0.0329,
                      "total": 0.3656
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.541112422943115,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0452
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0382
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.035
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0303
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0224
                        }
                      ],
                      "others": 0.0047,
                      "total": 6.5411
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0095, quality 0.532)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6035,
                "minutes": 87,
                "total_pass": 42,
                "accurate_pass": 39,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 8.0763,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0101,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 58,
                "progressive_carries": 1,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 10800000,
                "quality_factor": 0.5318,
                "boost_factor": 1.0095
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0279)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6035,
                "minutes": 87,
                "total_pass": 42,
                "accurate_pass": 39,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 8.0763,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0101,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 58,
                "progressive_carries": 1,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 30.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.22
              },
              "params": {
                "blend_weight": 0.0279,
                "history_matches": 2,
                "prior_reliability": 0.06,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 1.5143,
                  "after": 1.534
                },
                {
                  "stat": "wonTackle",
                  "before": 0.716,
                  "after": 0.727
                },
                {
                  "stat": "totalShots",
                  "before": 0.3691,
                  "after": 0.3588
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.9137,
                  "after": 0.9192
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6035,
                "minutes": 87,
                "total_pass": 42,
                "accurate_pass": 39,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 8.0763,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0101,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 58,
                "progressive_carries": 1,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 30.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6035,
                "minutes": 87,
                "total_pass": 42,
                "accurate_pass": 39,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 8.0763,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0101,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 58,
                "progressive_carries": 1,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 30.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.604,
                "opponent_faced": "Jon Aramburu",
                "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": "Jon Aramburu",
                  "matchup_zone": "Right Wingback vs Left Back — Overlapping Run"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6035,
                "minutes": 87,
                "total_pass": 42,
                "accurate_pass": 39,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 8.0763,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0101,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 58,
                "progressive_carries": 1,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 30.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.604,
                "opponent_faced": "Jon Aramburu",
                "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": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 4, fifa_overall 77.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6035,
                "minutes": 87,
                "total_pass": 42,
                "accurate_pass": 39,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 8.0763,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0101,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 58,
                "progressive_carries": 1,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 30.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.604,
                "opponent_faced": "Jon Aramburu",
                "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,
                "fifa_overall": 77.0
              },
              "params": {
                "match_squad_rank": 4,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3113,
                "fifa_rank": 1587.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6035,
                "minutes": 87,
                "total_pass": 42,
                "accurate_pass": 39,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 8.0763,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0101,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 58,
                "progressive_carries": 1,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 30.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.604,
                "opponent_faced": "Jon Aramburu",
                "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.0162,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0162,
                "scorer_weight": 0.1564,
                "squad_weight_total": 9.6645,
                "weight_share": 0.0162,
                "position_multiplier": 0.38
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6035,
                "minutes": 87,
                "total_pass": 42,
                "accurate_pass": 39,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 8.0763,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0101,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 58,
                "progressive_carries": 1,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 30.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.604,
                "opponent_faced": "Jon Aramburu",
                "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.0162,
                "projected_assists": 0,
                "assist_probability": 0.0087,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0087,
                "provider_weight": 0.0779,
                "squad_weight_total": 9.001,
                "weight_share": 0.0087,
                "position_multiplier": 0.45
              }
            }
          ]
        },
        "César Tárrega": {
          "player_id": 996928,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 5,
          "height": 193,
          "market_value": 9300000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.7641,
            "minutes": 77,
            "total_pass": 46,
            "accurate_pass": 41,
            "duels_won": 4,
            "total_long_balls": 4,
            "accurate_long_balls": 0,
            "total_own_half_passes": 31,
            "accurate_own_half_passes": 28,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 59,
            "possession_lost": 6.2766,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.01,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 18,
            "total_progression": 53,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.3333,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 0.33,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.1,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.7,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.761,
            "opponent_faced": "Mikel Oyarzabal",
            "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.0584,
            "projected_assists": 0,
            "assist_probability": 0.0086,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Valencia",
              "opponent": "Sevilla",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 36,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 5,
                "interceptions": 3,
                "clearances": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 5.6,
                "assists": 0,
                "expected_goals": 0.0214,
                "expected_assists": 0.0109,
                "total_shots": 1,
                "total_pass": 64,
                "accurate_pass": 57,
                "tackles": 3,
                "tackles_won": 1,
                "clearances": 6,
                "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": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_goals": 0.1193,
                "expected_assists": 0.0176,
                "total_shots": 2,
                "total_pass": 54,
                "accurate_pass": 49,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.9,
                "assists": 0,
                "expected_assists": 0.0184,
                "total_shots": 0,
                "total_pass": 59,
                "accurate_pass": 54,
                "tackles": 5,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3439,
            "combined_rank_score": 1429.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 3.0,
            "fifa_rank": 2413.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "projected_match_rating": 6.7641,
            "source_file": "data/player_rankings.csv",
            "player_name": "César Tárrega",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ryan Manning",
                  "ranking": 3434
                },
                {
                  "player_name": "Sebastiaan Bornauw",
                  "ranking": 3435
                },
                {
                  "player_name": "Lorenzo Melgarejo",
                  "ranking": 3436
                },
                {
                  "player_name": "Tomáš Chorý",
                  "ranking": 3437
                },
                {
                  "player_name": "Ferran Jutglà",
                  "ranking": 3438
                }
              ],
              "lower": [
                {
                  "player_name": "Lucas Stassin",
                  "ranking": 3440
                },
                {
                  "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
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.53,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.53,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0043,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "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.0,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (D_service) evaluated 4 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Valencia, 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,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7354,
                "minutes": 76,
                "total_pass": 46,
                "accurate_pass": 41,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.25,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 53,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 0.3138,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 5.6
                  },
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.9
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "touches_p90": 62.9583,
                  "accuratePass": 38.2898,
                  "possessionLostCtrl": 6.1995,
                  "totalClearance": 4.5675,
                  "totalClearance_p90": 6.4504
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9878214001655579,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0444
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0412
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0269
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0141
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0106
                        }
                      ],
                      "others": -0.0108,
                      "total": 0.9878
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.395135760307312,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "duelLost",
                          "contribution": -0.0695
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0692
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0575
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0432
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0381
                        }
                      ],
                      "others": 0.1027,
                      "total": 1.3951
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.9715899229049683,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0784
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0739
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.057
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0392
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0375
                        }
                      ],
                      "others": 0.1639,
                      "total": 0.9716
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 4.46312952041626,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.4624
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.4197
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.3742
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.2073
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.1598
                        }
                      ],
                      "others": 0.3613,
                      "total": 4.4631
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.294025182723999,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.0798
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0632
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0527
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0333
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0328
                        }
                      ],
                      "others": 0.0163,
                      "total": 1.294
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.31826961040496826,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0354
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0318
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0239
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0225
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0199
                        }
                      ],
                      "others": -0.068,
                      "total": 0.3183
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.7354278564453125,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "accuratePass",
                          "contribution": 0.0283
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0235
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0224
                        },
                        {
                          "name": "wonTackle",
                          "contribution": 0.0126
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0117
                        }
                      ],
                      "others": 0.0424,
                      "total": 6.7354
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0043, quality 0.514)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7641,
                "minutes": 77,
                "total_pass": 46,
                "accurate_pass": 41,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.2766,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 53,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 9300000,
                "quality_factor": 0.5142,
                "boost_factor": 1.0043
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0722)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7641,
                "minutes": 77,
                "total_pass": 46,
                "accurate_pass": 41,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.2766,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 53,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.3333,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": -1.0
              },
              "params": {
                "blend_weight": 0.0722,
                "history_matches": 4,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0722
                },
                {
                  "stat": "wonTackle",
                  "before": 0.9757,
                  "after": 1.0256
                },
                {
                  "stat": "totalShots",
                  "before": 0.3197,
                  "after": 0.3688
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.992,
                  "after": 0.9444
                },
                {
                  "stat": "fouls",
                  "before": 1.5064,
                  "after": 1.518
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7641,
                "minutes": 77,
                "total_pass": 46,
                "accurate_pass": 41,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.2766,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 53,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.3333,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7641,
                "minutes": 77,
                "total_pass": 46,
                "accurate_pass": 41,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.2766,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 53,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.3333,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Mikel Oyarzabal",
                "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": "Mikel Oyarzabal",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7641,
                "minutes": 77,
                "total_pass": 46,
                "accurate_pass": 41,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.2766,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 53,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.3333,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Mikel Oyarzabal",
                "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": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 6, fifa_overall 75.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7641,
                "minutes": 77,
                "total_pass": 46,
                "accurate_pass": 41,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.2766,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 53,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.3333,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Mikel Oyarzabal",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              },
              "params": {
                "match_squad_rank": 6,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3439,
                "fifa_rank": 2413.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7641,
                "minutes": 77,
                "total_pass": 46,
                "accurate_pass": 41,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.2766,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 53,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.3333,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Mikel Oyarzabal",
                "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.0584,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0584,
                "scorer_weight": 0.5643,
                "squad_weight_total": 9.6645,
                "weight_share": 0.0584,
                "position_multiplier": 0.38
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7641,
                "minutes": 77,
                "total_pass": 46,
                "accurate_pass": 41,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.2766,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 53,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.3333,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Mikel Oyarzabal",
                "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.0584,
                "projected_assists": 0,
                "assist_probability": 0.0086,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0086,
                "provider_weight": 0.0772,
                "squad_weight_total": 9.001,
                "weight_share": 0.0086,
                "position_multiplier": 0.45
              }
            }
          ]
        },
        "Justin De Haas": {
          "player_id": 876255,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 12,
          "height": 192,
          "market_value": 7700000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.6601,
            "minutes": 45,
            "total_pass": 36,
            "accurate_pass": 34,
            "duels_won": 4,
            "total_long_balls": 2,
            "accurate_long_balls": 0,
            "total_own_half_passes": 24,
            "accurate_own_half_passes": 24,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 10,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 38,
            "possession_lost": 1.997,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 7,
            "total_progression": 9,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 2.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 16.7,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.0,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.7,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.761,
            "opponent_faced": "Mikel Oyarzabal",
            "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.0535,
            "projected_assists": 0,
            "assist_probability": 0.0062,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0033,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 34,
                "clearances": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3412,
            "combined_rank_score": 1395.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 822.0,
            "sofascore_rating": 6.6,
            "sofascore_appearances": 1.0,
            "fifa_rank": 1968.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "projected_match_rating": 6.6601,
            "source_file": "data/player_rankings.csv",
            "player_name": "Justin De Haas",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jordy Clasie",
                  "ranking": 3407
                },
                {
                  "player_name": "Ethan Pinnock",
                  "ranking": 3408
                },
                {
                  "player_name": "Alassane Pléa",
                  "ranking": 3409
                },
                {
                  "player_name": "Caio Henrique",
                  "ranking": 3410
                },
                {
                  "player_name": "William Osula",
                  "ranking": 3411
                }
              ],
              "lower": [
                {
                  "player_name": "Nahuel Losada",
                  "ranking": 3413
                },
                {
                  "player_name": "Sven Mijnans",
                  "ranking": 3414
                },
                {
                  "player_name": "Dário Essugo",
                  "ranking": 3415
                },
                {
                  "player_name": "Niclas Füllkrug",
                  "ranking": 3416
                },
                {
                  "player_name": "Arthur",
                  "ranking": 3417
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.317,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.317,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9985,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 1.0,
              "minutes": 45.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0333
            },
            "rationale": "XGBoost regressor (D_service) evaluated 1 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Valencia, rel: 0.03, 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,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.67,
                "minutes": 45,
                "total_pass": 36,
                "accurate_pass": 34,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 2.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 1.0,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 1.0,
                  "touches_p90": 76.0,
                  "accuratePass": 34.0,
                  "possessionLostCtrl": 2.0,
                  "totalClearance": 2.0,
                  "totalClearance_p90": 4.0
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9109193682670593,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0535
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0387
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0385
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0242
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.015
                        }
                      ],
                      "others": -0.0628,
                      "total": 0.9109
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.1140204668045044,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "totalProgression",
                          "contribution": -0.0694
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0615
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0404
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0388
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0254
                        }
                      ],
                      "others": -0.0058,
                      "total": 1.114
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.6051152348518372,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "totalProgression",
                          "contribution": -0.0901
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0618
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0548
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0311
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0254
                        }
                      ],
                      "others": 0.0008,
                      "total": 0.6051
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.744652032852173,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.4036
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.3499
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.3442
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.2251
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.1384
                        }
                      ],
                      "others": -0.0357,
                      "total": 3.7447
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.1972947120666504,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.0706
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0633
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0417
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0361
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0241
                        }
                      ],
                      "others": 0.0644,
                      "total": 1.1973
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.2389393001794815,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.052
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0367
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0329
                        },
                        {
                          "name": "duelWon",
                          "contribution": -0.0227
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0223
                        }
                      ],
                      "others": -0.1165,
                      "total": 0.2389
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.669991970062256,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0874
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0765
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0372
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0282
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0253
                        }
                      ],
                      "others": 0.0307,
                      "total": 6.67
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9985, quality 0.495)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6601,
                "minutes": 45,
                "total_pass": 36,
                "accurate_pass": 34,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 1.997,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 7700000,
                "quality_factor": 0.4951,
                "boost_factor": 0.9985
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0180)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6601,
                "minutes": 45,
                "total_pass": 36,
                "accurate_pass": 34,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 1.997,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 2.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 16.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "params": {
                "blend_weight": 0.018,
                "history_matches": 1,
                "prior_reliability": 0.0333,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "fouls",
                  "before": 0.9985,
                  "after": 1.0166
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.9096,
                  "after": 0.8932
                },
                {
                  "stat": "wonTackle",
                  "before": 0.6042,
                  "after": 0.5933
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6601,
                "minutes": 45,
                "total_pass": 36,
                "accurate_pass": 34,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 1.997,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 2.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 16.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6601,
                "minutes": 45,
                "total_pass": 36,
                "accurate_pass": 34,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 1.997,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 2.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 16.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Mikel Oyarzabal",
                "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": "Mikel Oyarzabal",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6601,
                "minutes": 45,
                "total_pass": 36,
                "accurate_pass": 34,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 1.997,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 2.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 16.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Mikel Oyarzabal",
                "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": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 7, fifa_overall 76.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6601,
                "minutes": 45,
                "total_pass": 36,
                "accurate_pass": 34,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 1.997,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 2.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 16.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Mikel Oyarzabal",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              },
              "params": {
                "match_squad_rank": 7,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3412,
                "fifa_rank": 1968.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 76.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6601,
                "minutes": 45,
                "total_pass": 36,
                "accurate_pass": 34,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 1.997,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 2.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 16.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Mikel Oyarzabal",
                "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.0535,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0535,
                "scorer_weight": 0.5175,
                "squad_weight_total": 9.6645,
                "weight_share": 0.0535,
                "position_multiplier": 0.38
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6601,
                "minutes": 45,
                "total_pass": 36,
                "accurate_pass": 34,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 1.997,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 2.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 16.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Mikel Oyarzabal",
                "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.0535,
                "projected_assists": 0,
                "assist_probability": 0.0062,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0062,
                "provider_weight": 0.0554,
                "squad_weight_total": 9.001,
                "weight_share": 0.0062,
                "position_multiplier": 0.45
              }
            }
          ]
        },
        "José Copete": {
          "player_id": 913695,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 3,
          "height": 190,
          "market_value": 4500000,
          "stats": {
            "interceptions": 2,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 2,
            "duels_won": 5,
            "total_pass": 43,
            "accurate_pass": 34,
            "expected_goals": 0.0444,
            "rating": 6.8,
            "minutes": 90,
            "total_long_balls": 5,
            "accurate_long_balls": 3,
            "total_own_half_passes": 27,
            "accurate_own_half_passes": 22,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 7,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 59,
            "possession_lost": 6.3,
            "dispossessed": 0.4,
            "duels_lost": 3,
            "aerial_lost": 2,
            "total_contest": 4,
            "won_contest": 2,
            "ball_recovery": 5,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_assists": 0.046,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.012,
            "key_pass": 1,
            "ball_carries": 19,
            "total_progression": 57,
            "progressive_carries": 4,
            "tackles_in_zone": 1.9,
            "tackles_won_in_zone": 1.8,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.2,
            "defensive_success_rate": 0.607,
            "opponent_faced": "Sergio Gómez",
            "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.0655,
            "projected_assists": 0,
            "assist_probability": 0.0395,
            "fifa_overall": 77.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 2102,
            "combined_rank_score": 1109.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 797.0,
            "sofascore_rating": 6.6238,
            "sofascore_appearances": 21.0,
            "fifa_rank": 1422.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "starter",
            "projected_match_rating": 6.8,
            "source_file": "data/player_rankings.csv",
            "player_name": "José Copete",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Zdravko Dimitrov",
                  "ranking": 2097
                },
                {
                  "player_name": "Iñigo Vicente",
                  "ranking": 2098
                },
                {
                  "player_name": "Nahitan Nández",
                  "ranking": 2099
                },
                {
                  "player_name": "Lewis Cook",
                  "ranking": 2100
                },
                {
                  "player_name": "Keane Lewis-Potter",
                  "ranking": 2101
                }
              ],
              "lower": [
                {
                  "player_name": "Diego Moreira",
                  "ranking": 2103
                },
                {
                  "player_name": "Chris Long",
                  "ranking": 2104
                },
                {
                  "player_name": "Richard Ríos",
                  "ranking": 2105
                },
                {
                  "player_name": "Abdel Rahim",
                  "ranking": 2106
                },
                {
                  "player_name": "Matthew Sheridan",
                  "ranking": 2107
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "D_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "market_value_adjustment": 0.456,
            "fbref_prior_metrics": null,
            "rationale": "Market-value baseline (€4,500,000) applied for position D (quality factor 0.46)."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position D (quality 0.46)",
              "stats": {
                "interceptions": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "total_pass": 43,
                "accurate_pass": 34,
                "expected_goals": 0.016,
                "rating": 6.8,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.3,
                "dispossessed": 0.4,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.046,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.012,
                "key_pass": 1,
                "ball_carries": 19,
                "total_progression": 57,
                "progressive_carries": 4
              },
              "params": {
                "market_value_eur": 4500000,
                "quality_factor": 0.456
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "total_pass": 43,
                "accurate_pass": 34,
                "expected_goals": 0.016,
                "rating": 6.8,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.3,
                "dispossessed": 0.4,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.046,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.012,
                "key_pass": 1,
                "ball_carries": 19,
                "total_progression": 57,
                "progressive_carries": 4
              },
              "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": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "total_pass": 43,
                "accurate_pass": 34,
                "expected_goals": 0.016,
                "rating": 6.8,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.3,
                "dispossessed": 0.4,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.046,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.012,
                "key_pass": 1,
                "ball_carries": 19,
                "total_progression": 57,
                "progressive_carries": 4,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.607,
                "opponent_faced": "Sergio Gómez",
                "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": "Sergio Gómez",
                  "matchup_zone": "Left Wingback vs Right Back — Overlapping Run"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "interceptions": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "total_pass": 43,
                "accurate_pass": 34,
                "expected_goals": 0.0444,
                "rating": 6.8,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.3,
                "dispossessed": 0.4,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.046,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.012,
                "key_pass": 1,
                "ball_carries": 19,
                "total_progression": 57,
                "progressive_carries": 4,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.607,
                "opponent_faced": "Sergio Gómez",
                "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": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.016,
                  "after": 0.0444
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 11, fifa_overall 77.0)",
              "stats": {
                "interceptions": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "total_pass": 43,
                "accurate_pass": 34,
                "expected_goals": 0.0444,
                "rating": 6.8,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.3,
                "dispossessed": 0.4,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.046,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.012,
                "key_pass": 1,
                "ball_carries": 19,
                "total_progression": 57,
                "progressive_carries": 4,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.607,
                "opponent_faced": "Sergio Gómez",
                "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,
                "fifa_overall": 77.0
              },
              "params": {
                "match_squad_rank": 11,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 2102,
                "fifa_rank": 1422.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "total_pass": 43,
                "accurate_pass": 34,
                "expected_goals": 0.0444,
                "rating": 6.8,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.3,
                "dispossessed": 0.4,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.046,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.012,
                "key_pass": 1,
                "ball_carries": 19,
                "total_progression": 57,
                "progressive_carries": 4,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.607,
                "opponent_faced": "Sergio Gómez",
                "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.0655,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0655,
                "scorer_weight": 0.633,
                "squad_weight_total": 9.6645,
                "weight_share": 0.0655,
                "position_multiplier": 0.38
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "total_pass": 43,
                "accurate_pass": 34,
                "expected_goals": 0.0444,
                "rating": 6.8,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.3,
                "dispossessed": 0.4,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.046,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.012,
                "key_pass": 1,
                "ball_carries": 19,
                "total_progression": 57,
                "progressive_carries": 4,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.607,
                "opponent_faced": "Sergio Gómez",
                "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.0655,
                "projected_assists": 0,
                "assist_probability": 0.0395,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0395,
                "provider_weight": 0.3559,
                "squad_weight_total": 9.001,
                "weight_share": 0.0395,
                "position_multiplier": 0.45
              }
            }
          ]
        },
        "Javier Guerra": {
          "player_id": 1122610,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 187,
          "market_value": 26000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0792,
            "assists": 0,
            "expected_goals": 0.3021,
            "shots_on_target": 0,
            "total_shots": 2,
            "rating": 7.2392,
            "minutes": 80,
            "total_pass": 31,
            "accurate_pass": 23,
            "duels_won": 2,
            "total_long_balls": 3,
            "accurate_long_balls": 0,
            "total_own_half_passes": 11,
            "accurate_own_half_passes": 10,
            "total_opp_half_passes": 20,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 45,
            "possession_lost": 14.7805,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 14,
            "total_progression": 61,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 88.5,
            "pointsPerMatch": 0.33,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.2,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.456,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "CAM vs CM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Jon Gorrotxategi",
            "opponent_faced": "Jon Gorrotxategi",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.1228,
            "projected_assists": 0,
            "assist_probability": 0.1526,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Valencia",
              "opponent": "Sevilla",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 62,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 6,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 60,
                "rating": 6.1,
                "assists": 0,
                "expected_goals": 0.181,
                "expected_assists": 0.0099,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 27,
                "accurate_pass": 22,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 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": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.2196,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 34,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 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": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.0707,
                "expected_assists": 0.0283,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 38,
                "accurate_pass": 27,
                "key_pass": 1,
                "clearances": 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"
            }
          ],
          "ranking": {
            "global_player_rank": 1314,
            "combined_rank_score": 499.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 571.0,
            "sofascore_rating": 6.8086,
            "sofascore_appearances": 36.0,
            "fifa_rank": 428.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "projected_match_rating": 7.2392,
            "source_file": "data/player_rankings.csv",
            "player_name": "Javier Guerra",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lukáš Haraslín",
                  "ranking": 1309
                },
                {
                  "player_name": "Marko Dmitrović",
                  "ranking": 1310
                },
                {
                  "player_name": "Tino Livramento",
                  "ranking": 1311
                },
                {
                  "player_name": "Yéremy Pino",
                  "ranking": 1312
                },
                {
                  "player_name": "Cecilio Waterman",
                  "ranking": 1313
                }
              ],
              "lower": [
                {
                  "player_name": "Pedro Gonçalves",
                  "ranking": 1315
                },
                {
                  "player_name": "Matheus Cunha",
                  "ranking": 1316
                },
                {
                  "player_name": "Pacha",
                  "ranking": 1317
                },
                {
                  "player_name": "Facundo Mater",
                  "ranking": 1318
                },
                {
                  "player_name": "Azzedine Ounahi",
                  "ranking": 1319
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.527,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.527,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0558,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 239.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 1.13,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.18
            },
            "rationale": "XGBoost regressor (M_service) evaluated 4 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Valencia, rel: 0.18, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0751,
                "assists": 0,
                "expected_goals": 0.1031,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8569,
                "minutes": 76,
                "total_pass": 30,
                "accurate_pass": 22,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 43,
                "possession_lost": 14.0,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 58,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.7262,
                  "ballRecovery_p90": 3.864,
                  "progressiveBallCarriesCount": 0.6993,
                  "expectedAssists": 0.0579,
                  "ballRecovery": 3.3054
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.8828039169311523,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0526
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0448
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0242
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0238
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0211
                        }
                      ],
                      "others": -0.0726,
                      "total": 0.8828
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.07505495101213455,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0141
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.009
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0048
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.004
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0035
                        }
                      ],
                      "others": -0.0176,
                      "total": 0.0751
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.07907581329345703,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0068
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0038
                        },
                        {
                          "name": "duelLost",
                          "contribution": 0.0025
                        },
                        {
                          "name": "keyPass_p90",
                          "contribution": -0.0024
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0023
                        }
                      ],
                      "others": -0.0083,
                      "total": 0.0791
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.10311460494995117,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0207
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0124
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0068
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0053
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0054
                        }
                      ],
                      "others": -0.0012,
                      "total": 0.1031
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.31840234994888306,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.0347
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0267
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0225
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0212
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.01
                        }
                      ],
                      "others": -0.0133,
                      "total": 0.3184
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.2497764825820923,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.1234
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.1178
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1101
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0752
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0459
                        }
                      ],
                      "others": -0.0608,
                      "total": 1.2498
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.856928825378418,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0374
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0223
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0216
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0195
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0177
                        }
                      ],
                      "others": 0.0168,
                      "total": 6.8569
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0558, quality 0.686)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0792,
                "assists": 0,
                "expected_goals": 0.1089,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.2392,
                "minutes": 80,
                "total_pass": 31,
                "accurate_pass": 23,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 45,
                "possession_lost": 14.7805,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 61,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 26000000,
                "quality_factor": 0.6858,
                "boost_factor": 1.0558
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0650)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0792,
                "assists": 0,
                "expected_goals": 0.1089,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.2392,
                "minutes": 80,
                "total_pass": 31,
                "accurate_pass": 23,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 45,
                "possession_lost": 14.7805,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 61,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 88.5,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": -1.13
              },
              "params": {
                "blend_weight": 0.065,
                "history_matches": 4,
                "prior_reliability": 0.18,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.1685
                },
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0722
                },
                {
                  "stat": "wonTackle",
                  "before": 0.0,
                  "after": 0.0481
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.0,
                  "after": 0.0241
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.3362,
                  "after": 0.3143
                },
                {
                  "stat": "totalShots",
                  "before": 1.3195,
                  "after": 1.3072
                },
                {
                  "stat": "goalAssist",
                  "before": 0.0835,
                  "after": 0.0781
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0792,
                "assists": 0,
                "expected_goals": 0.1089,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.2392,
                "minutes": 80,
                "total_pass": 31,
                "accurate_pass": 23,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 45,
                "possession_lost": 14.7805,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 61,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 88.5,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "expected_assists": 0.0792,
                "assists": 0,
                "expected_goals": 0.1089,
                "shots_on_target": 0,
                "total_shots": 2,
                "rating": 7.2392,
                "minutes": 80,
                "total_pass": 31,
                "accurate_pass": 23,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 45,
                "possession_lost": 14.7805,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 61,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 88.5,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.456,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jon Gorrotxategi",
                "opponent_faced": "Jon Gorrotxategi",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Jon Gorrotxategi",
                  "matchup_zone": "CAM vs CM",
                  "duel_win_rate": 0.456,
                  "pressing_faced": "MEDIUM",
                  "numerical_situation": "1v1"
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.0,
                  "after": 1.2
                },
                {
                  "stat": "totalShots",
                  "before": 1.3072,
                  "after": 2.3
                }
              ]
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0792,
                "assists": 0,
                "expected_goals": 0.3021,
                "shots_on_target": 0,
                "total_shots": 2,
                "rating": 7.2392,
                "minutes": 80,
                "total_pass": 31,
                "accurate_pass": 23,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 45,
                "possession_lost": 14.7805,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 61,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 88.5,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.456,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jon Gorrotxategi",
                "opponent_faced": "Jon Gorrotxategi",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1089,
                  "after": 0.3021
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 1, fifa_overall 82.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0792,
                "assists": 0,
                "expected_goals": 0.3021,
                "shots_on_target": 0,
                "total_shots": 2,
                "rating": 7.2392,
                "minutes": 80,
                "total_pass": 31,
                "accurate_pass": 23,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 45,
                "possession_lost": 14.7805,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 61,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 88.5,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.456,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jon Gorrotxategi",
                "opponent_faced": "Jon Gorrotxategi",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              },
              "params": {
                "match_squad_rank": 1,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 1314,
                "fifa_rank": 428.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0792,
                "assists": 0,
                "expected_goals": 0.3021,
                "shots_on_target": 0,
                "total_shots": 2,
                "rating": 7.2392,
                "minutes": 80,
                "total_pass": 31,
                "accurate_pass": 23,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 45,
                "possession_lost": 14.7805,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 61,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 88.5,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.456,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jon Gorrotxategi",
                "opponent_faced": "Jon Gorrotxategi",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1228,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1228,
                "scorer_weight": 1.1867,
                "squad_weight_total": 9.6645,
                "weight_share": 0.1228,
                "position_multiplier": 0.78
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0792,
                "assists": 0,
                "expected_goals": 0.3021,
                "shots_on_target": 0,
                "total_shots": 2,
                "rating": 7.2392,
                "minutes": 80,
                "total_pass": 31,
                "accurate_pass": 23,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 45,
                "possession_lost": 14.7805,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 61,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 88.5,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.456,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CAM vs CM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jon Gorrotxategi",
                "opponent_faced": "Jon Gorrotxategi",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1228,
                "projected_assists": 0,
                "assist_probability": 0.1526,
                "fifa_overall": 82.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1526,
                "provider_weight": 1.3737,
                "squad_weight_total": 9.001,
                "weight_share": 0.1526,
                "position_multiplier": 1.45
              }
            }
          ]
        },
        "Harvey Elliott": {
          "player_id": 955245,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 19,
          "height": 170,
          "market_value": 21000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0796,
            "assists": 0,
            "expected_goals": 0.1615,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 7.0195,
            "minutes": 38,
            "total_pass": 23,
            "accurate_pass": 18,
            "duels_won": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 9,
            "accurate_own_half_passes": 9,
            "total_opp_half_passes": 14,
            "accurate_opp_half_passes": 8,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 25,
            "possession_lost": 5.2112,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 2,
            "tackles": 2,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 10,
            "total_progression": 8,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.7,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.421,
            "pressing_faced": "LOW",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Ander Barrenetxea",
            "opponent_faced": "Ander Barrenetxea",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0709,
            "projected_assists": 0,
            "assist_probability": 0.1508,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Valencia",
              "opponent": "Sevilla",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 36,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0627,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 17,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3214,
            "combined_rank_score": 1163.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 901.0,
            "sofascore_rating": 6.52,
            "sofascore_appearances": 5.0,
            "fifa_rank": 1426.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "projected_match_rating": 7.0195,
            "source_file": "data/player_rankings.csv",
            "player_name": "Harvey Elliott",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Robin Gosens",
                  "ranking": 3209
                },
                {
                  "player_name": "Álvaro Núñez",
                  "ranking": 3210
                },
                {
                  "player_name": "Marvin Schwäbe",
                  "ranking": 3211
                },
                {
                  "player_name": "Moi Gómez",
                  "ranking": 3212
                },
                {
                  "player_name": "Benjamin Henrichs",
                  "ranking": 3213
                }
              ],
              "lower": [
                {
                  "player_name": "Azor Matusiwa",
                  "ranking": 3215
                },
                {
                  "player_name": "Eljif Elmas",
                  "ranking": 3216
                },
                {
                  "player_name": "Lazaros Rota",
                  "ranking": 3217
                },
                {
                  "player_name": "Joshua Zirkzee",
                  "ranking": 3218
                },
                {
                  "player_name": "Camilo Vargas",
                  "ranking": 3219
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0422,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 1 historical appearances across 7 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0764,
                "assists": 0,
                "expected_goals": 0.0558,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.7351,
                "minutes": 36,
                "total_pass": 22,
                "accurate_pass": 17,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 7,
                "progressive_carries": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.0,
                  "ballRecovery_p90": 0.0,
                  "progressiveBallCarriesCount": 0.0,
                  "expectedAssists": 0.0627,
                  "ballRecovery": 0.0
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.2193466424942017,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0807
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.0804
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.0607
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0532
                        },
                        {
                          "name": "intensity_index",
                          "contribution": 0.0474
                        }
                      ],
                      "others": 0.0342,
                      "total": 1.2193
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.076366126537323,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0161
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": 0.0059
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0034
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0035
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0034
                        }
                      ],
                      "others": -0.0098,
                      "total": 0.0764
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.07657765597105026,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0069
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0046
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0036
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": 0.0031
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": 0.0024
                        }
                      ],
                      "others": -0.0094,
                      "total": 0.0766
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.05580741539597511,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0164
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0109
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0087
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0071
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0053
                        }
                      ],
                      "others": -0.0151,
                      "total": 0.0558
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.24836282432079315,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0542
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0154
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0138
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.008
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0077
                        }
                      ],
                      "others": -0.0125,
                      "total": 0.2484
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6938256025314331,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1327
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0822
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0434
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0389
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0387
                        }
                      ],
                      "others": -0.1931,
                      "total": 0.6938
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.735083103179932,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "kilometersCovered",
                          "contribution": -0.2641
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.1221
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0515
                        },
                        {
                          "name": "intensity_index",
                          "contribution": 0.0489
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0149
                        }
                      ],
                      "others": 0.033,
                      "total": 6.7351
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0422, quality 0.641)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0796,
                "assists": 0,
                "expected_goals": 0.0582,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.0195,
                "minutes": 38,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 5.2112,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 8,
                "progressive_carries": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 21000000,
                "quality_factor": 0.6408,
                "boost_factor": 1.0422
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0796,
                "assists": 0,
                "expected_goals": 0.0582,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.0195,
                "minutes": 38,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 5.2112,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 8,
                "progressive_carries": 0,
                "shots_off_target": 0
              },
              "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,
                "expected_assists": 0.0796,
                "assists": 0,
                "expected_goals": 0.0582,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.0195,
                "minutes": 38,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 5.2112,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 8,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.421,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ander Barrenetxea",
                "opponent_faced": "Ander Barrenetxea",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Ander Barrenetxea",
                  "matchup_zone": "CDM vs CDM",
                  "duel_win_rate": 0.421,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1"
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.0,
                  "after": 0.8
                },
                {
                  "stat": "totalShots",
                  "before": 0.7232,
                  "after": 1.0
                }
              ]
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0796,
                "assists": 0,
                "expected_goals": 0.1615,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.0195,
                "minutes": 38,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 5.2112,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 8,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.421,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ander Barrenetxea",
                "opponent_faced": "Ander Barrenetxea",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0582,
                  "after": 0.1615
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 2, fifa_overall 77.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0796,
                "assists": 0,
                "expected_goals": 0.1615,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.0195,
                "minutes": 38,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 5.2112,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 8,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.421,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ander Barrenetxea",
                "opponent_faced": "Ander Barrenetxea",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "match_squad_rank": 2,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3214,
                "fifa_rank": 1426.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0796,
                "assists": 0,
                "expected_goals": 0.1615,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.0195,
                "minutes": 38,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 5.2112,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 8,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.421,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ander Barrenetxea",
                "opponent_faced": "Ander Barrenetxea",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0709,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0709,
                "scorer_weight": 0.6857,
                "squad_weight_total": 9.6645,
                "weight_share": 0.0709,
                "position_multiplier": 0.78
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0796,
                "assists": 0,
                "expected_goals": 0.1615,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.0195,
                "minutes": 38,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 5.2112,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 8,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.421,
                "pressing_faced": "LOW",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ander Barrenetxea",
                "opponent_faced": "Ander Barrenetxea",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0709,
                "projected_assists": 0,
                "assist_probability": 0.1508,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1508,
                "provider_weight": 1.3569,
                "squad_weight_total": 9.001,
                "weight_share": 0.1508,
                "position_multiplier": 1.45
              }
            }
          ]
        },
        "Diego López": {
          "player_id": 998950,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 16,
          "height": 172,
          "market_value": 9600000,
          "stats": {
            "key_pass": 2,
            "assists": 1,
            "expected_assists": 0.144,
            "expected_goals": 0.2552,
            "total_shots": 1,
            "total_pass": 53,
            "accurate_pass": 43,
            "ball_recovery": 5,
            "duels_won": 6,
            "rating": 7.0,
            "minutes": 90,
            "total_long_balls": 5,
            "accurate_long_balls": 3,
            "total_own_half_passes": 21,
            "accurate_own_half_passes": 17,
            "total_opp_half_passes": 20,
            "accurate_opp_half_passes": 15,
            "crosses_total": 1,
            "crosses_accurate": 1,
            "touches": 68,
            "possession_lost": 8.6,
            "dispossessed": 0.8,
            "duels_lost": 4,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 4,
            "won_contest": 2,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "goal_rate": 0.07,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.062,
            "ball_carries": 31,
            "total_progression": 81,
            "progressive_carries": 7,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.6,
            "crosses_attempted": 2.0,
            "duel_win_rate": 0.211,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "RW vs LWB + CB",
            "numerical_situation": "1v2",
            "opponent_defenders": "Sergio Gómez, Mamadou Sarr",
            "opponent_faced": "Sergio Gómez, Mamadou Sarr",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.1457,
            "projected_assists": 1,
            "assist_probability": 0.2712,
            "fifa_overall": 77.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 3167,
            "combined_rank_score": 1133.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 692.0,
            "sofascore_rating": 6.7088,
            "sofascore_appearances": 34.0,
            "fifa_rank": 1575.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "projected_match_rating": 7.0,
            "source_file": "data/player_rankings.csv",
            "player_name": "Diego López",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jack Clarke",
                  "ranking": 3162
                },
                {
                  "player_name": "Vitor Reis",
                  "ranking": 3163
                },
                {
                  "player_name": "Nicolás Fernández",
                  "ranking": 3164
                },
                {
                  "player_name": "Žan Vipotnik",
                  "ranking": 3165
                },
                {
                  "player_name": "Mykhailo Mudryk",
                  "ranking": 3166
                }
              ],
              "lower": [
                {
                  "player_name": "Taty Castellanos",
                  "ranking": 3168
                },
                {
                  "player_name": "Timothy Castagne",
                  "ranking": 3169
                },
                {
                  "player_name": "Edson Álvarez",
                  "ranking": 3170
                },
                {
                  "player_name": "Kevin Trapp",
                  "ranking": 3171
                },
                {
                  "player_name": "Sean Longstaff",
                  "ranking": 3172
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "M_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "market_value_adjustment": 0.5177,
            "fbref_prior_metrics": null,
            "rationale": "Market-value baseline (€9,600,000) applied for position M (quality factor 0.52)."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position M (quality 0.52)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.144,
                "expected_goals": 0.092,
                "total_shots": 1,
                "total_pass": 53,
                "accurate_pass": 43,
                "ball_recovery": 5,
                "duels_won": 6,
                "rating": 7.0,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 15,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 68,
                "possession_lost": 8.6,
                "dispossessed": 0.8,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.07,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.062,
                "ball_carries": 31,
                "total_progression": 81,
                "progressive_carries": 7
              },
              "params": {
                "market_value_eur": 9600000,
                "quality_factor": 0.5177
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.144,
                "expected_goals": 0.092,
                "total_shots": 1,
                "total_pass": 53,
                "accurate_pass": 43,
                "ball_recovery": 5,
                "duels_won": 6,
                "rating": 7.0,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 15,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 68,
                "possession_lost": 8.6,
                "dispossessed": 0.8,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.07,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.062,
                "ball_carries": 31,
                "total_progression": 81,
                "progressive_carries": 7
              },
              "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": 2,
                "assists": 0,
                "expected_assists": 0.144,
                "expected_goals": 0.092,
                "total_shots": 1,
                "total_pass": 53,
                "accurate_pass": 43,
                "ball_recovery": 5,
                "duels_won": 6,
                "rating": 7.0,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 15,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 68,
                "possession_lost": 8.6,
                "dispossessed": 0.8,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.07,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.062,
                "ball_carries": 31,
                "total_progression": 81,
                "progressive_carries": 7,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.211,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Sergio Gómez, Mamadou Sarr",
                "opponent_faced": "Sergio Gómez, Mamadou Sarr",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Sergio Gómez, Mamadou Sarr",
                  "matchup_zone": "RW vs LWB + CB",
                  "duel_win_rate": 0.211,
                  "pressing_faced": "MEDIUM",
                  "numerical_situation": "1v2"
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 1.3,
                  "after": 0.8
                },
                {
                  "stat": "totalShots",
                  "before": 1.4,
                  "after": 1.3
                }
              ]
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.144,
                "expected_goals": 0.2552,
                "total_shots": 1,
                "total_pass": 53,
                "accurate_pass": 43,
                "ball_recovery": 5,
                "duels_won": 6,
                "rating": 7.0,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 15,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 68,
                "possession_lost": 8.6,
                "dispossessed": 0.8,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.07,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.062,
                "ball_carries": 31,
                "total_progression": 81,
                "progressive_carries": 7,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.211,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Sergio Gómez, Mamadou Sarr",
                "opponent_faced": "Sergio Gómez, Mamadou Sarr",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.092,
                  "after": 0.2552
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 5, fifa_overall 77.0)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.144,
                "expected_goals": 0.2552,
                "total_shots": 1,
                "total_pass": 53,
                "accurate_pass": 43,
                "ball_recovery": 5,
                "duels_won": 6,
                "rating": 7.0,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 15,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 68,
                "possession_lost": 8.6,
                "dispossessed": 0.8,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.07,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.062,
                "ball_carries": 31,
                "total_progression": 81,
                "progressive_carries": 7,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.211,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Sergio Gómez, Mamadou Sarr",
                "opponent_faced": "Sergio Gómez, Mamadou Sarr",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "match_squad_rank": 5,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3167,
                "fifa_rank": 1575.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.144,
                "expected_goals": 0.2552,
                "total_shots": 1,
                "total_pass": 53,
                "accurate_pass": 43,
                "ball_recovery": 5,
                "duels_won": 6,
                "rating": 7.0,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 15,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 68,
                "possession_lost": 8.6,
                "dispossessed": 0.8,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.07,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.062,
                "ball_carries": 31,
                "total_progression": 81,
                "progressive_carries": 7,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.211,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Sergio Gómez, Mamadou Sarr",
                "opponent_faced": "Sergio Gómez, Mamadou Sarr",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1457,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1457,
                "scorer_weight": 1.4083,
                "squad_weight_total": 9.6645,
                "weight_share": 0.1457,
                "position_multiplier": 0.78
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 2,
                "assists": 1,
                "expected_assists": 0.144,
                "expected_goals": 0.2552,
                "total_shots": 1,
                "total_pass": 53,
                "accurate_pass": 43,
                "ball_recovery": 5,
                "duels_won": 6,
                "rating": 7.0,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 15,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 68,
                "possession_lost": 8.6,
                "dispossessed": 0.8,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.07,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.062,
                "ball_carries": 31,
                "total_progression": 81,
                "progressive_carries": 7,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.211,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "RW vs LWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Sergio Gómez, Mamadou Sarr",
                "opponent_faced": "Sergio Gómez, Mamadou Sarr",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1457,
                "projected_assists": 1,
                "assist_probability": 0.2712,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 1,
                "assist_probability": 0.2712,
                "provider_weight": 2.4409,
                "squad_weight_total": 9.001,
                "weight_share": 0.2712,
                "position_multiplier": 1.45
              }
            }
          ]
        },
        "Pepelu": {
          "player_id": 826948,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 18,
          "height": 185,
          "market_value": 7300000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0525,
            "assists": 0,
            "expected_goals": 0.1179,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.8704,
            "minutes": 74,
            "total_pass": 45,
            "accurate_pass": 40,
            "duels_won": 2,
            "total_long_balls": 6,
            "accurate_long_balls": 3,
            "total_own_half_passes": 23,
            "accurate_own_half_passes": 23,
            "total_opp_half_passes": 22,
            "accurate_opp_half_passes": 17,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 54,
            "possession_lost": 6.7303,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 4,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 16,
            "total_progression": 32,
            "progressive_carries": 0,
            "shots_off_target": 1,
            "opponent_faced": "Takefusa Kubo",
            "matchup_zone": "Midfield lane",
            "antagonist_source": "midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0554,
            "projected_assists": 0,
            "assist_probability": 0.1333,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Valencia",
              "opponent": "Sevilla",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 54,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0064,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 16,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 4,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 66,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0889,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 43,
                "key_pass": 1,
                "tackles": 2,
                "clearances": 1,
                "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": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 88,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0069,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 27,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 2,
                "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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "expected_goals": 0.0334,
                "expected_assists": 0.0173,
                "total_shots": 1,
                "total_pass": 82,
                "accurate_pass": 75,
                "tackles": 2,
                "clearances": 8,
                "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": 3207,
            "combined_rank_score": 1161.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 362.0,
            "sofascore_rating": 6.9767,
            "sofascore_appearances": 31.0,
            "fifa_rank": 1960.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "starter",
            "projected_match_rating": 6.8704,
            "source_file": "data/player_rankings.csv",
            "player_name": "Pepelu",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Frederik Rønnow",
                  "ranking": 3202
                },
                {
                  "player_name": "David Affengruber",
                  "ranking": 3203
                },
                {
                  "player_name": "Kike Salas",
                  "ranking": 3204
                },
                {
                  "player_name": "Franck Honorat",
                  "ranking": 3205
                },
                {
                  "player_name": "Djibril Sow",
                  "ranking": 3206
                }
              ],
              "lower": [
                {
                  "player_name": "Dayann Methalie",
                  "ranking": 3208
                },
                {
                  "player_name": "Robin Gosens",
                  "ranking": 3209
                },
                {
                  "player_name": "Álvaro Núñez",
                  "ranking": 3210
                },
                {
                  "player_name": "Marvin Schwäbe",
                  "ranking": 3211
                },
                {
                  "player_name": "Moi Gómez",
                  "ranking": 3212
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.5,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.5,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9971,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 4 historical appearances across 7 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0526,
                "assists": 0,
                "expected_goals": 0.0426,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8905,
                "minutes": 74,
                "total_pass": 46,
                "accurate_pass": 40,
                "duels_won": 2,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 18,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 6.75,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 32,
                "progressive_carries": 0,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 54.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.4
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.1927,
                  "ballRecovery_p90": 3.4993,
                  "progressiveBallCarriesCount": 0.3854,
                  "expectedAssists": 0.0306,
                  "ballRecovery": 2.846
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.8888198137283325,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0741
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0486
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0226
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.0176
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": 0.0177
                        }
                      ],
                      "others": -0.0675,
                      "total": 0.8888
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.052636902779340744,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0194
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0051
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.003
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0027
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0023
                        }
                      ],
                      "others": -0.0078,
                      "total": 0.0526
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06816621124744415,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0082
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0055
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0039
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": 0.002
                        },
                        {
                          "name": "keyPass_p90",
                          "contribution": -0.0018
                        }
                      ],
                      "others": -0.01,
                      "total": 0.0682
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.04260943830013275,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0287
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0141
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0092
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0035
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0031
                        }
                      ],
                      "others": -0.0137,
                      "total": 0.0426
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.22600458562374115,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0454
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.019
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0157
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0065
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0062
                        }
                      ],
                      "others": -0.026,
                      "total": 0.226
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.7648517489433289,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.137
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.1283
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0984
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.073
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0437
                        }
                      ],
                      "others": -0.2157,
                      "total": 0.7649
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.890543460845947,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0219
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0158
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0154
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": 0.0141
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.0141
                        }
                      ],
                      "others": 0.0212,
                      "total": 6.8905
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9971, quality 0.490)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0525,
                "assists": 0,
                "expected_goals": 0.0425,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8704,
                "minutes": 74,
                "total_pass": 45,
                "accurate_pass": 40,
                "duels_won": 2,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 6.7303,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 32,
                "progressive_carries": 0,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 7300000,
                "quality_factor": 0.4903,
                "boost_factor": 0.9971
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0525,
                "assists": 0,
                "expected_goals": 0.0425,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8704,
                "minutes": 74,
                "total_pass": 45,
                "accurate_pass": 40,
                "duels_won": 2,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 6.7303,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 32,
                "progressive_carries": 0,
                "shots_off_target": 1
              },
              "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,
                "expected_assists": 0.0525,
                "assists": 0,
                "expected_goals": 0.0425,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8704,
                "minutes": 74,
                "total_pass": 45,
                "accurate_pass": 40,
                "duels_won": 2,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 6.7303,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 32,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "opponent_faced": "Takefusa Kubo",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Takefusa Kubo",
                  "matchup_zone": "Midfield lane"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0525,
                "assists": 0,
                "expected_goals": 0.1179,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8704,
                "minutes": 74,
                "total_pass": 45,
                "accurate_pass": 40,
                "duels_won": 2,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 6.7303,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 32,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "opponent_faced": "Takefusa Kubo",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0425,
                  "after": 0.1179
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 8, fifa_overall 76.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0525,
                "assists": 0,
                "expected_goals": 0.1179,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8704,
                "minutes": 74,
                "total_pass": 45,
                "accurate_pass": 40,
                "duels_won": 2,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 6.7303,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 32,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "opponent_faced": "Takefusa Kubo",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              },
              "params": {
                "match_squad_rank": 8,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3207,
                "fifa_rank": 1960.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 76.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0525,
                "assists": 0,
                "expected_goals": 0.1179,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8704,
                "minutes": 74,
                "total_pass": 45,
                "accurate_pass": 40,
                "duels_won": 2,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 6.7303,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 32,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "opponent_faced": "Takefusa Kubo",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0554,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0554,
                "scorer_weight": 0.5353,
                "squad_weight_total": 9.6645,
                "weight_share": 0.0554,
                "position_multiplier": 0.78
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0525,
                "assists": 0,
                "expected_goals": 0.1179,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8704,
                "minutes": 74,
                "total_pass": 45,
                "accurate_pass": 40,
                "duels_won": 2,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 6.7303,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 32,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "opponent_faced": "Takefusa Kubo",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0554,
                "projected_assists": 0,
                "assist_probability": 0.1333,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1333,
                "provider_weight": 1.2002,
                "squad_weight_total": 9.001,
                "weight_share": 0.1333,
                "position_multiplier": 1.45
              }
            }
          ]
        },
        "Filip Ugrinić": {
          "player_id": 857482,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 23,
          "height": 185,
          "market_value": 5700000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0985,
            "assists": 0,
            "expected_goals": 0.2666,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.8054,
            "minutes": 70,
            "total_pass": 41,
            "accurate_pass": 37,
            "duels_won": 4,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_own_half_passes": 17,
            "accurate_own_half_passes": 16,
            "total_opp_half_passes": 24,
            "accurate_opp_half_passes": 21,
            "crosses_total": 3,
            "crosses_accurate": 0,
            "touches": 57,
            "possession_lost": 10.1601,
            "dispossessed": 0.0,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 19,
            "total_progression": 76,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 33.3,
            "shotConversion": 0.0,
            "minutesPct": 71.9,
            "pointsPerMatch": 0.33,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.6,
            "crosses_attempted": 1.9,
            "duel_win_rate": 0.234,
            "pressing_faced": "LOW",
            "matchup_zone": "LW vs RWB + CB",
            "numerical_situation": "1v2",
            "opponent_defenders": "Jon Aramburu, Mamadou Sarr",
            "opponent_faced": "Jon Aramburu, Mamadou Sarr",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.1007,
            "projected_assists": 0,
            "assist_probability": 0.1605,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Valencia",
              "opponent": "Sevilla",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0091,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 28,
                "key_pass": 1,
                "interceptions": 2,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.2432,
                "expected_assists": 0.0588,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 71,
                "accurate_pass": 67,
                "key_pass": 1,
                "tackles": 5,
                "tackles_won": 3,
                "interceptions": 1,
                "duels_won": 10,
                "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": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 35,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0521,
                "expected_assists": 0.0417,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 14,
                "key_pass": 1,
                "tackles": 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": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 69,
                "rating": 7.2,
                "assists": 0,
                "expected_goals": 0.119,
                "expected_assists": 0.1259,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 40,
                "accurate_pass": 39,
                "key_pass": 1,
                "tackles": 1,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3510,
            "combined_rank_score": 1488.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 576.0,
            "sofascore_rating": 6.8037,
            "sofascore_appearances": 27.0,
            "fifa_rank": 2401.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "starter",
            "projected_match_rating": 6.8054,
            "source_file": "data/player_rankings.csv",
            "player_name": "Filip Ugrinić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Arthur Masuaku",
                  "ranking": 3505
                },
                {
                  "player_name": "Mario Götze",
                  "ranking": 3506
                },
                {
                  "player_name": "Pere Milla",
                  "ranking": 3507
                },
                {
                  "player_name": "Mitchell Weiser",
                  "ranking": 3508
                },
                {
                  "player_name": "Frank Onyeka",
                  "ranking": 3509
                }
              ],
              "lower": [
                {
                  "player_name": "Robin Zentner",
                  "ranking": 3511
                },
                {
                  "player_name": "Kevin Diks",
                  "ranking": 3512
                },
                {
                  "player_name": "Zuriko Davitashvili",
                  "ranking": 3513
                },
                {
                  "player_name": "Grischa Prömel",
                  "ranking": 3514
                },
                {
                  "player_name": "Pol Lozano",
                  "ranking": 3515
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.522,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.522,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9912,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 2.0,
              "minutes": 194.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 2.78,
              "shots_on_target_pct": 33.3,
              "prior_reliability": 0.1467
            },
            "rationale": "XGBoost regressor (M_service) evaluated 4 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Valencia, rel: 0.15, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0993,
                "assists": 0,
                "expected_goals": 0.097,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8657,
                "minutes": 71,
                "total_pass": 41,
                "accurate_pass": 37,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 10.25,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 77,
                "progressive_carries": 2,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 0.2267,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 69.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.2
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "totalShots": 1.4124,
                  "ballRecovery_p90": 3.4421,
                  "progressiveBallCarriesCount": 1.7863,
                  "expectedAssists": 0.0523,
                  "ballRecovery": 2.5536
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.1087136268615723,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0541
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0367
                        },
                        {
                          "name": "cross_accuracy",
                          "contribution": 0.0342
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": -0.0314
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0241
                        }
                      ],
                      "others": 0.0219,
                      "total": 1.1087
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.09933724999427795,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0122
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0059
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0054
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0054
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0039
                        }
                      ],
                      "others": -0.0068,
                      "total": 0.0993
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06782364845275879,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0071
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.004
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0026
                        },
                        {
                          "name": "touches",
                          "contribution": -0.0021
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0019
                        }
                      ],
                      "others": -0.0101,
                      "total": 0.0678
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.09696494787931442,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0159
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.01
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0066
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0049
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0045
                        }
                      ],
                      "others": -0.0106,
                      "total": 0.097
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.384098082780838,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.0503
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0252
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0199
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": 0.0143
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0109
                        }
                      ],
                      "others": -0.0073,
                      "total": 0.3841
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.0071040391921997,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.072
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0528
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0453
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0438
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0388
                        }
                      ],
                      "others": -0.0482,
                      "total": 1.0071
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.8656511306762695,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0335
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.019
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0177
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0163
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0157
                        }
                      ],
                      "others": 0.0301,
                      "total": 6.8657
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9912, quality 0.471)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0985,
                "assists": 0,
                "expected_goals": 0.0961,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8054,
                "minutes": 70,
                "total_pass": 41,
                "accurate_pass": 37,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 10.1601,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 76,
                "progressive_carries": 2,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 5700000,
                "quality_factor": 0.4708,
                "boost_factor": 0.9912
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0530)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0985,
                "assists": 0,
                "expected_goals": 0.0961,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8054,
                "minutes": 70,
                "total_pass": 41,
                "accurate_pass": 37,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 10.1601,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 76,
                "progressive_carries": 2,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 71.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": -1.39
              },
              "params": {
                "blend_weight": 0.053,
                "history_matches": 4,
                "prior_reliability": 0.1467,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.9983,
                  "after": 1.0927
                },
                {
                  "stat": "totalCross",
                  "before": 3.2215,
                  "after": 3.3157
                },
                {
                  "stat": "wasFouled",
                  "before": 2.2303,
                  "after": 2.3048
                },
                {
                  "stat": "wonTackle",
                  "before": 0.0,
                  "after": 0.0722
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.0,
                  "after": 0.0482
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.0482
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.3807,
                  "after": 0.4098
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0985,
                "assists": 0,
                "expected_goals": 0.0961,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8054,
                "minutes": 70,
                "total_pass": 41,
                "accurate_pass": 37,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 10.1601,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 76,
                "progressive_carries": 2,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 71.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "expected_assists": 0.0985,
                "assists": 0,
                "expected_goals": 0.0961,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8054,
                "minutes": 70,
                "total_pass": 41,
                "accurate_pass": 37,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 10.1601,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 76,
                "progressive_carries": 2,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 71.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.234,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jon Aramburu, Mamadou Sarr",
                "opponent_faced": "Jon Aramburu, Mamadou Sarr",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Jon Aramburu, Mamadou Sarr",
                  "matchup_zone": "LW vs RWB + CB",
                  "duel_win_rate": 0.234,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2"
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.0,
                  "after": 1.2
                },
                {
                  "stat": "totalShots",
                  "before": 1.0927,
                  "after": 1.3
                }
              ]
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0985,
                "assists": 0,
                "expected_goals": 0.2666,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8054,
                "minutes": 70,
                "total_pass": 41,
                "accurate_pass": 37,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 10.1601,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 76,
                "progressive_carries": 2,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 71.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.234,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jon Aramburu, Mamadou Sarr",
                "opponent_faced": "Jon Aramburu, Mamadou Sarr",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0961,
                  "after": 0.2666
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 75.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0985,
                "assists": 0,
                "expected_goals": 0.2666,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8054,
                "minutes": 70,
                "total_pass": 41,
                "accurate_pass": 37,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 10.1601,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 76,
                "progressive_carries": 2,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 71.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.234,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jon Aramburu, Mamadou Sarr",
                "opponent_faced": "Jon Aramburu, Mamadou Sarr",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              },
              "params": {
                "match_squad_rank": 10,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3510,
                "fifa_rank": 2401.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0985,
                "assists": 0,
                "expected_goals": 0.2666,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8054,
                "minutes": 70,
                "total_pass": 41,
                "accurate_pass": 37,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 10.1601,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 76,
                "progressive_carries": 2,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 71.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.234,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jon Aramburu, Mamadou Sarr",
                "opponent_faced": "Jon Aramburu, Mamadou Sarr",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1007,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1007,
                "scorer_weight": 0.9733,
                "squad_weight_total": 9.6645,
                "weight_share": 0.1007,
                "position_multiplier": 0.78
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0985,
                "assists": 0,
                "expected_goals": 0.2666,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8054,
                "minutes": 70,
                "total_pass": 41,
                "accurate_pass": 37,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 10.1601,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 76,
                "progressive_carries": 2,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 71.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.234,
                "pressing_faced": "LOW",
                "matchup_zone": "LW vs RWB + CB",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jon Aramburu, Mamadou Sarr",
                "opponent_faced": "Jon Aramburu, Mamadou Sarr",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1007,
                "projected_assists": 0,
                "assist_probability": 0.1605,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1605,
                "provider_weight": 1.4443,
                "squad_weight_total": 9.001,
                "weight_share": 0.1605,
                "position_multiplier": 1.45
              }
            }
          ]
        },
        "Hugo Duro": {
          "player_id": 909119,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 9,
          "height": 180,
          "market_value": 11600000,
          "stats": {
            "expected_goals": 0.2341,
            "goal_rate": 0.2134,
            "goals": 1,
            "shots_on_target": 1,
            "total_shots": 2,
            "expected_assists": 0.0327,
            "key_pass": 1,
            "rating": 6.8855,
            "minutes": 28,
            "total_pass": 8,
            "accurate_pass": 6,
            "duels_won": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 0.0,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "shots_off_target": 1,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 34.4,
            "pointsPerMatch": 0.33,
            "netGoalDifferencePer90": 0.0,
            "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": "Mamadou Sarr, Hector Fort",
            "opponent_faced": "Mamadou Sarr, Hector Fort",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.3108,
            "projected_assists": 0,
            "assist_probability": 0.0687,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 14,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 6,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 30,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0103,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 11,
                "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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 55,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0144,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 4,
                "key_pass": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 13,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0006,
                "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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3220,
            "combined_rank_score": 1167.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 776.0,
            "sofascore_rating": 6.6389,
            "sofascore_appearances": 36.0,
            "fifa_rank": 1559.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "projected_match_rating": 6.8855,
            "source_file": "data/player_rankings.csv",
            "player_name": "Hugo Duro",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Azor Matusiwa",
                  "ranking": 3215
                },
                {
                  "player_name": "Eljif Elmas",
                  "ranking": 3216
                },
                {
                  "player_name": "Lazaros Rota",
                  "ranking": 3217
                },
                {
                  "player_name": "Joshua Zirkzee",
                  "ranking": 3218
                },
                {
                  "player_name": "Camilo Vargas",
                  "ranking": 3219
                }
              ],
              "lower": [
                {
                  "player_name": "Chris Führich",
                  "ranking": 3221
                },
                {
                  "player_name": "Lucien Agoumé",
                  "ranking": 3222
                },
                {
                  "player_name": "Maarten Vandevoordt",
                  "ranking": 3223
                },
                {
                  "player_name": "Nikola Vasilj",
                  "ranking": 3224
                },
                {
                  "player_name": "Wouter Burger",
                  "ranking": 3225
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.51,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.51,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0123,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 1.0,
              "minutes": 93.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0667
            },
            "rationale": "XGBoost regressor (F_service) evaluated 4 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Valencia, rel: 0.07, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1293,
                "goal_rate": 0.216,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0323,
                "key_pass": 1,
                "rating": 6.8017,
                "minutes": 28,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:14.946589+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 14.0,
                    "is_starting": false,
                    "weight": 0.3138,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 30.0,
                    "is_starting": false,
                    "weight": 0.2667,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 55.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 13.0,
                    "is_starting": false,
                    "weight": 0.1927,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "minutesPlayed": 27.371,
                  "totalShots": 0.0,
                  "onTargetScoringAttempt": 0.0,
                  "touches": 10.5247,
                  "dribbleValueNormalized": -0.1674
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.12932556867599487,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ],
                    "decomposition": {
                      "base": 0.2757,
                      "items": [
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0639
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0292
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0211
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0167
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0151
                        }
                      ],
                      "others": -0.0922,
                      "total": 0.1293
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.21603570878505707,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 0.3455,
                      "items": [
                        {
                          "name": "duelLost",
                          "contribution": -0.0524
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0402
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0308
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.021
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0176
                        }
                      ],
                      "others": -0.0447,
                      "total": 0.216
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.6377639770507812,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ],
                    "decomposition": {
                      "base": 0.6329,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0612
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.038
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0242
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0221
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0144
                        }
                      ],
                      "others": -0.0502,
                      "total": 0.6378
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.6731832027435303,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0896
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.062
                      },
                      {
                        "name": "shotOffTarget",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0517
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0408
                      }
                    ],
                    "decomposition": {
                      "base": 1.531,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4048
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.1026
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0766
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0761
                        },
                        {
                          "name": "topSpeed",
                          "contribution": -0.074
                        }
                      ],
                      "others": -0.2387,
                      "total": 1.6732
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03228738158941269,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ],
                    "decomposition": {
                      "base": 0.0579,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0118
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0052
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.004
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0027
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0023
                        }
                      ],
                      "others": 0.0004,
                      "total": 0.0323
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.7004339694976807,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ],
                    "decomposition": {
                      "base": 0.6829,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1926
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0765
                        },
                        {
                          "name": "duelWon",
                          "contribution": -0.0288
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0261
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0218
                        }
                      ],
                      "others": -0.0219,
                      "total": 0.7004
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.801696300506592,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ],
                    "decomposition": {
                      "base": 6.7136,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0495
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0328
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0327
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0297
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0285
                        }
                      ],
                      "others": 0.1029,
                      "total": 6.8017
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0123, quality 0.541)",
              "stats": {
                "expected_goals": 0.1309,
                "goal_rate": 0.2187,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0327,
                "key_pass": 1,
                "rating": 6.8855,
                "minutes": 28,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 11600000,
                "quality_factor": 0.5411,
                "boost_factor": 1.0123
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0241)",
              "stats": {
                "expected_goals": 0.1309,
                "goal_rate": 0.2134,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0327,
                "key_pass": 1,
                "rating": 6.8855,
                "minutes": 28,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 34.4,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0
              },
              "params": {
                "blend_weight": 0.0241,
                "history_matches": 4,
                "prior_reliability": 0.0667,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0482
                },
                {
                  "stat": "totalShots",
                  "before": 1.6938,
                  "after": 1.653
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.0241
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.0,
                  "after": 0.0241
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.6456,
                  "after": 0.6301
                },
                {
                  "stat": "goals",
                  "before": 0.2187,
                  "after": 0.2134
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1309,
                "goal_rate": 0.2134,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0327,
                "key_pass": 1,
                "rating": 6.8855,
                "minutes": 28,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 34.4,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0
              },
              "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.0844,
                "goal_rate": 0.2134,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0327,
                "key_pass": 1,
                "rating": 6.8855,
                "minutes": 28,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 34.4,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "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": "Mamadou Sarr, Hector Fort",
                "opponent_faced": "Mamadou Sarr, Hector Fort",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Mamadou Sarr, Hector Fort",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.18,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2",
                  "xg_override": 0.0844
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.6783,
                  "after": 2.0
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1309,
                  "after": 0.0844
                }
              ]
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "expected_goals": 0.2341,
                "goal_rate": 0.2134,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0327,
                "key_pass": 1,
                "rating": 6.8855,
                "minutes": 28,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 34.4,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "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": "Mamadou Sarr, Hector Fort",
                "opponent_faced": "Mamadou Sarr, Hector Fort",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0844,
                  "after": 0.2341
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 3, fifa_overall 77.0)",
              "stats": {
                "expected_goals": 0.2341,
                "goal_rate": 0.2134,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0327,
                "key_pass": 1,
                "rating": 6.8855,
                "minutes": 28,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 34.4,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "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": "Mamadou Sarr, Hector Fort",
                "opponent_faced": "Mamadou Sarr, Hector Fort",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "match_squad_rank": 3,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3220,
                "fifa_rank": 1559.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.2341,
                "goal_rate": 0.2134,
                "goals": 1,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0327,
                "key_pass": 1,
                "rating": 6.8855,
                "minutes": 28,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 34.4,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "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": "Mamadou Sarr, Hector Fort",
                "opponent_faced": "Mamadou Sarr, Hector Fort",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.3108,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 1,
                "goal_probability": 0.3108,
                "scorer_weight": 3.0041,
                "squad_weight_total": 9.6645,
                "weight_share": 0.3108,
                "position_multiplier": 1.45
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.2341,
                "goal_rate": 0.2134,
                "goals": 1,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0327,
                "key_pass": 1,
                "rating": 6.8855,
                "minutes": 28,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 34.4,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "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": "Mamadou Sarr, Hector Fort",
                "opponent_faced": "Mamadou Sarr, Hector Fort",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.3108,
                "projected_assists": 0,
                "assist_probability": 0.0687,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0687,
                "provider_weight": 0.6185,
                "squad_weight_total": 9.001,
                "weight_share": 0.0687,
                "position_multiplier": 0.85
              }
            }
          ]
        }
      },
      "bench_players": {
        "Kayne van Oevelen": {
          "player_id": 1393970,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 25,
          "height": 199,
          "market_value": 2100000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.022,
            "rating": 6.8,
            "minutes": 4,
            "total_pass": 1,
            "accurate_pass": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "touches": 2,
            "clearances": 0,
            "ball_recovery": 0,
            "high_claims": 0,
            "punches": 0.0146,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.1171,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "bench_appearance_probability": 0.109,
            "bench_expected_minutes": 4.39,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.086,
            "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": 69.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 5230,
            "combined_rank_score": 3406.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 6597.0,
            "fifa_overall": 69.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "projected_match_rating": 6.8,
            "source_file": "data/player_rankings.csv",
            "player_name": "Kayne van Oevelen",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Grady Diangana",
                  "ranking": 5225
                },
                {
                  "player_name": "Max Rosenfelder",
                  "ranking": 5226
                },
                {
                  "player_name": "Bilal Nadir",
                  "ranking": 5227
                },
                {
                  "player_name": "Stephen Mfuni",
                  "ranking": 5228
                },
                {
                  "player_name": "Yukhym Konoplia",
                  "ranking": 5229
                }
              ],
              "lower": [
                {
                  "player_name": "Martin Adeline",
                  "ranking": 5231
                },
                {
                  "player_name": "Abdülkadir Ömür",
                  "ranking": 5232
                },
                {
                  "player_name": "Tom Rothe",
                  "ranking": 5233
                },
                {
                  "player_name": "Derry Scherhant",
                  "ranking": 5234
                },
                {
                  "player_name": "Pierce Charles",
                  "ranking": 5235
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "G_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 4.392222187561249,
            "bench_appearance_prob": 0.10873737216187492,
            "market_value_adjustment": 0.4374,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "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 (€2,100,000) scaled to 4.4 expected mins; FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position G (quality 0.44)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.45,
                "rating": 6.8,
                "minutes": 90,
                "total_pass": 27,
                "accurate_pass": 20,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "touches": 32,
                "clearances": 1,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.3,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 2.4,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 16
              },
              "params": {
                "market_value_eur": 2100000,
                "quality_factor": 0.4374
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.45,
                "rating": 6.8,
                "minutes": 90,
                "total_pass": 27,
                "accurate_pass": 20,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "touches": 32,
                "clearances": 1,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.3,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 2.4,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 16
              },
              "params": {
                "blend_weight": 0.0,
                "history_matches": 0,
                "prior_reliability": 0.0,
                "competition": "La Liga",
                "squad": "Valencia"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              },
              "params": {
                "expected_minutes": 4.39,
                "appearance_probability": 0.109
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 18, fifa_overall 69.0)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "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": 69.0
              },
              "params": {
                "match_squad_rank": 18,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 5230,
                "fifa_rank": 6597.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 69.0
              }
            }
          ]
        },
        "José Luis Gayà": {
          "player_id": 227922,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 14,
          "height": 172,
          "market_value": 4300000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.6111,
            "minutes": 14,
            "total_pass": 3,
            "accurate_pass": 2,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 2,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 5,
            "possession_lost": 0.8217,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0015,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 1,
            "total_progression": 3,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 25.2,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.218,
            "bench_expected_minutes": 13.64,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.086,
            "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_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Valencia",
              "opponent": "Sevilla",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 36,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0029,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 13,
                "tackles": 3,
                "tackles_won": 1,
                "clearances": 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": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 69,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.011,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 20,
                "key_pass": 1,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 996,
            "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": 12,
            "squad_role": "substitute",
            "projected_match_rating": 6.6111,
            "source_file": "data/player_rankings.csv",
            "player_name": "José Luis Gayà",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Abduvokhid Gulomov",
                  "ranking": 991
                },
                {
                  "player_name": "Danila Forov",
                  "ranking": 992
                },
                {
                  "player_name": "Bradley Lyons",
                  "ranking": 993
                },
                {
                  "player_name": "Dario Šarić",
                  "ranking": 994
                },
                {
                  "player_name": "José Ángel Carmona",
                  "ranking": 995
                }
              ],
              "lower": [
                {
                  "player_name": "Rafael Bauzà",
                  "ranking": 997
                },
                {
                  "player_name": "Asier Osambela",
                  "ranking": 998
                },
                {
                  "player_name": "Nurbek Sarsenbaev",
                  "ranking": 999
                },
                {
                  "player_name": "Diyorbek Mamataliev",
                  "ranking": 1000
                },
                {
                  "player_name": "Vicente Villegas",
                  "ranking": 1001
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.383,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.383,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 13.636033856478429,
            "bench_appearance_prob": 0.218,
            "market_value_adjustment": 0.9861,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 1.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0533
            },
            "rationale": "Bench projection scaled from XGBoost D_service (2 historical appearances) to 13.6 expected mins (appearance prob 0.22); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7046,
                "minutes": 52,
                "total_pass": 20,
                "accurate_pass": 16,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 6,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 5.5,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 0.5405,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 69.0,
                    "is_starting": true,
                    "weight": 0.4595,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 2.0,
                  "is_starting_11": 0.0,
                  "touches_p90": 58.6604,
                  "accuratePass": 16.2162,
                  "possessionLostCtrl": 5.6216,
                  "totalClearance": 1.0,
                  "totalClearance_p90": 1.9506
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.6917547583580017,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.208
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0474
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0222
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0137
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0109
                        }
                      ],
                      "others": -0.0834,
                      "total": 0.6918
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.1210354566574097,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0648
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0489
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0469
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.042
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.036
                        }
                      ],
                      "others": 0.0043,
                      "total": 1.121
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.6278710961341858,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.137
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0801
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0443
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0335
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.03
                        }
                      ],
                      "others": 0.0853,
                      "total": 0.6279
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.1817328929901123,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -1.8907
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.1547
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.1075
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0569
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0538
                        }
                      ],
                      "others": -0.1729,
                      "total": 1.1817
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.7938314080238342,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3164
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0421
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0273
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0263
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0189
                        }
                      ],
                      "others": -0.0699,
                      "total": 0.7938
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.14085504412651062,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1903
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0268
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0224
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0218
                        },
                        {
                          "name": "duelWon",
                          "contribution": -0.016
                        }
                      ],
                      "others": -0.038,
                      "total": 0.1409
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.7045674324035645,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0737
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0366
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0198
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0187
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0183
                        }
                      ],
                      "others": -0.0146,
                      "total": 6.7046
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9861, quality 0.454)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6111,
                "minutes": 52,
                "total_pass": 20,
                "accurate_pass": 16,
                "duels_won": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 6,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 5.4233,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 4300000,
                "quality_factor": 0.4535,
                "boost_factor": 0.9861
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0247)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6111,
                "minutes": 52,
                "total_pass": 20,
                "accurate_pass": 16,
                "duels_won": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 6,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 5.4233,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.2,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "params": {
                "blend_weight": 0.0247,
                "history_matches": 2,
                "prior_reliability": 0.0533,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0619
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.6821,
                  "after": 0.6652
                },
                {
                  "stat": "wonTackle",
                  "before": 0.6191,
                  "after": 0.6038
                },
                {
                  "stat": "totalCross",
                  "before": 1.4791,
                  "after": 1.4734
                },
                {
                  "stat": "fouls",
                  "before": 1.4791,
                  "after": 1.4734
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 13.6 expected minutes (appearance prob 0.22)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 6.6111,
                "minutes": 14,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 0.8217,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0015,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.2,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.218,
                "bench_expected_minutes": 13.64
              },
              "params": {
                "expected_minutes": 13.64,
                "appearance_probability": 0.218
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 6.6111,
                "minutes": 14,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 0.8217,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0015,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.2,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.218,
                "bench_expected_minutes": 13.64
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 12, fifa_overall 80.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 6.6111,
                "minutes": 14,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 0.8217,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0015,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.2,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.218,
                "bench_expected_minutes": 13.64,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "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": 12,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 996,
                "fifa_rank": 770.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 80.0
              }
            }
          ]
        },
        "Jesús Vázquez": {
          "player_id": 996929,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 21,
          "height": 182,
          "market_value": 4200000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.462,
            "minutes": 14,
            "total_pass": 4,
            "accurate_pass": 3,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 7,
            "possession_lost": 1.7915,
            "dispossessed": 0.0,
            "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,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0045,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 2,
            "total_progression": 9,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 0.33,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.218,
            "bench_expected_minutes": 13.63,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.086,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 71.0
          },
          "latest_10_games": [
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 54,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0039,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "tackles": 2,
                "tackles_won": 2,
                "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"
            },
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0168,
                "total_shots": 0,
                "total_pass": 44,
                "accurate_pass": 39,
                "tackles": 2,
                "tackles_won": 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": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.0448,
                "expected_assists": 0.084,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 13,
                "key_pass": 1,
                "tackles": 1,
                "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": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0131,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 24,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 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"
            }
          ],
          "ranking": {
            "global_player_rank": 4816,
            "combined_rank_score": 2895.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 760.0,
            "sofascore_rating": 6.6545,
            "sofascore_appearances": 24.0,
            "fifa_rank": 5031.0,
            "fifa_overall": 71.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "projected_match_rating": 6.462,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jesús Vázquez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Dela",
                  "ranking": 4811
                },
                {
                  "player_name": "Abdelkabir Abqar",
                  "ranking": 4812
                },
                {
                  "player_name": "Nico Serrano",
                  "ranking": 4813
                },
                {
                  "player_name": "Max Aarons",
                  "ranking": 4814
                },
                {
                  "player_name": "Tete Morente",
                  "ranking": 4815
                }
              ],
              "lower": [
                {
                  "player_name": "Pacheco",
                  "ranking": 4817
                },
                {
                  "player_name": "Eliot Matazo",
                  "ranking": 4818
                },
                {
                  "player_name": "Terrats",
                  "ranking": 4819
                },
                {
                  "player_name": "Óscar Zambrano",
                  "ranking": 4820
                },
                {
                  "player_name": "Victor Moreno",
                  "ranking": 4821
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.53,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.53,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 13.631139321914329,
            "bench_appearance_prob": 0.218,
            "market_value_adjustment": 0.9857,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "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.2
            },
            "rationale": "Bench projection scaled from XGBoost D_service (4 historical appearances) to 13.6 expected mins (appearance prob 0.22); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.5558,
                "minutes": 81,
                "total_pass": 25,
                "accurate_pass": 21,
                "duels_won": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 50,
                "possession_lost": 12.0,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.03,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 60,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 54.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 0.0,
                  "touches_p90": 56.201,
                  "accuratePass": 20.4861,
                  "possessionLostCtrl": 11.9017,
                  "totalClearance": 1.0471,
                  "totalClearance_p90": 1.4655
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.6796174645423889,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1915
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0217
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0214
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0175
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0154
                        }
                      ],
                      "others": -0.0499,
                      "total": 0.6796
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.6575149297714233,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.168
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0837
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0749
                        },
                        {
                          "name": "duelLost",
                          "contribution": 0.0719
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0741
                        }
                      ],
                      "others": -0.0206,
                      "total": 1.6575
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.9040772914886475,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1511
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.1416
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0656
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0584
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.044
                        }
                      ],
                      "others": 0.0829,
                      "total": 0.9041
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 0.9069343209266663,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -1.6822
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.1937
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.1369
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0917
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0651
                        }
                      ],
                      "others": -0.3267,
                      "total": 0.9069
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.7332299947738647,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2635
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0688
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0376
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0267
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0224
                        }
                      ],
                      "others": -0.0899,
                      "total": 0.7332
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.29682087898254395,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1804
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0204
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0197
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0133
                        },
                        {
                          "name": "duelWon",
                          "contribution": 0.0127
                        }
                      ],
                      "others": -0.0185,
                      "total": 0.2968
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.555779933929443,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0377
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.032
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.031
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0184
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0171
                        }
                      ],
                      "others": 0.0293,
                      "total": 6.5558
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9857, quality 0.452)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.462,
                "minutes": 80,
                "total_pass": 25,
                "accurate_pass": 21,
                "duels_won": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 49,
                "possession_lost": 11.8283,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0296,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 59,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 4200000,
                "quality_factor": 0.4523,
                "boost_factor": 0.9857
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0722)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.462,
                "minutes": 80,
                "total_pass": 25,
                "accurate_pass": 21,
                "duels_won": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 49,
                "possession_lost": 11.8283,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0296,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 59,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": -1.0
              },
              "params": {
                "blend_weight": 0.0722,
                "history_matches": 4,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.1926
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.1444
                },
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.1204
                },
                {
                  "stat": "wonTackle",
                  "before": 0.8911,
                  "after": 0.923
                },
                {
                  "stat": "totalShots",
                  "before": 0.2926,
                  "after": 0.3199
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 13.6 expected minutes (appearance prob 0.22)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 6.462,
                "minutes": 14,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.7915,
                "dispossessed": 0.0,
                "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,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0045,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.218,
                "bench_expected_minutes": 13.63
              },
              "params": {
                "expected_minutes": 13.63,
                "appearance_probability": 0.218
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 6.462,
                "minutes": 14,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.7915,
                "dispossessed": 0.0,
                "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,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0045,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.218,
                "bench_expected_minutes": 13.63
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 14, fifa_overall 71.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 6.462,
                "minutes": 14,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.7915,
                "dispossessed": 0.0,
                "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,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0045,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.218,
                "bench_expected_minutes": 13.63,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 71.0
              },
              "params": {
                "match_squad_rank": 14,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 4816,
                "fifa_rank": 5031.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 71.0
              }
            }
          ]
        },
        "André Almeida": {
          "player_id": 845693,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 10,
          "height": 176,
          "market_value": 6200000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0129,
            "assists": 0,
            "expected_goals": 0.028,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.5456,
            "minutes": 22,
            "total_pass": 8,
            "accurate_pass": 7,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 0.9767,
            "dispossessed": 0.9931,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 4,
            "total_progression": 22,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.506,
            "bench_expected_minutes": 22.13,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.086,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16416321.0,
              "match_date": "2026-09-05",
              "home_team": "Rayo Vallecano",
              "away_team": "Real Racing Club",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Racing Club",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 35,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.449,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 30,
                "tackles": 2,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3700,
            "combined_rank_score": 1656.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 418.0,
            "sofascore_rating": 6.925,
            "sofascore_appearances": 22.0,
            "fifa_rank": 2894.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "substitute",
            "projected_match_rating": 6.5456,
            "source_file": "data/player_rankings.csv",
            "player_name": "André Almeida",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Samuel Dahl",
                  "ranking": 3695
                },
                {
                  "player_name": "Alan Lescano",
                  "ranking": 3696
                },
                {
                  "player_name": "Dénes Dibusz",
                  "ranking": 3697
                },
                {
                  "player_name": "Luciano Juba",
                  "ranking": 3698
                },
                {
                  "player_name": "Jean Lucas",
                  "ranking": 3699
                }
              ],
              "lower": [
                {
                  "player_name": "Jean-Ricner Bellegarde",
                  "ranking": 3701
                },
                {
                  "player_name": "Kervin Arriaga",
                  "ranking": 3702
                },
                {
                  "player_name": "Bryan Gil",
                  "ranking": 3703
                },
                {
                  "player_name": "Taiwo Awoniyi",
                  "ranking": 3704
                },
                {
                  "player_name": "Ismail Jakobs",
                  "ranking": 3705
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 22.128465634082904,
            "bench_appearance_prob": 0.5058393470037683,
            "market_value_adjustment": 0.9931,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "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 M_service (1 historical appearances) to 22.1 expected mins (appearance prob 0.51); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0527,
                "assists": 0,
                "expected_goals": 0.0414,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.5913,
                "minutes": 35,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 20,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 4.0,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 89,
                "progressive_carries": 2,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Rayo Vallecano",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 7.3
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.0,
                  "ballRecovery_p90": 5.1429,
                  "progressiveBallCarriesCount": 2.0,
                  "expectedAssists": 0.449,
                  "ballRecovery": 2.0
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.7942147850990295,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2302
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0829
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0581
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0346
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0295
                        }
                      ],
                      "others": 0.0946,
                      "total": 0.7942
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.05272402986884117,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0185
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0111
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0044
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0038
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0038
                        }
                      ],
                      "others": -0.0062,
                      "total": 0.0527
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.09800294786691666,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0145
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0051
                        },
                        {
                          "name": "keyPass_p90",
                          "contribution": -0.0035
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0034
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0029
                        }
                      ],
                      "others": -0.004,
                      "total": 0.098
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.04138951748609543,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0269
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0165
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0081
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0064
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0036
                        }
                      ],
                      "others": -0.013,
                      "total": 0.0414
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.21022091805934906,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0589
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0203
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0177
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0106
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0088
                        }
                      ],
                      "others": -0.0059,
                      "total": 0.2102
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6304405927658081,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2061
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2052
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0997
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0475
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0467
                        }
                      ],
                      "others": -0.0222,
                      "total": 0.6304
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.591342926025391,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "kilometersCovered",
                          "contribution": -0.3435
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0567
                        },
                        {
                          "name": "intensity_index",
                          "contribution": 0.0525
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.041
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0361
                        }
                      ],
                      "others": 0.1121,
                      "total": 6.5913
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9931, quality 0.477)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0524,
                "assists": 0,
                "expected_goals": 0.0411,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.5456,
                "minutes": 35,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 20,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 3.9723,
                "dispossessed": 0.9931,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 88,
                "progressive_carries": 2,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 6200000,
                "quality_factor": 0.4769,
                "boost_factor": 0.9931
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0524,
                "assists": 0,
                "expected_goals": 0.0411,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.5456,
                "minutes": 35,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 20,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 3.9723,
                "dispossessed": 0.9931,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 88,
                "progressive_carries": 2,
                "shots_off_target": 0
              },
              "params": {
                "blend_weight": 0.0,
                "history_matches": 1,
                "prior_reliability": 0.0,
                "competition": "La Liga",
                "squad": "Valencia"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 22.1 expected minutes (appearance prob 0.51)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0129,
                "assists": 0,
                "expected_goals": 0.0101,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.5456,
                "minutes": 22,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.9767,
                "dispossessed": 0.9931,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 22,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "bench_appearance_probability": 0.506,
                "bench_expected_minutes": 22.13
              },
              "params": {
                "expected_minutes": 22.13,
                "appearance_probability": 0.506
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0129,
                "assists": 0,
                "expected_goals": 0.0101,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.5456,
                "minutes": 22,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.9767,
                "dispossessed": 0.9931,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 22,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "bench_appearance_probability": 0.506,
                "bench_expected_minutes": 22.13
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0129,
                "assists": 0,
                "expected_goals": 0.028,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.5456,
                "minutes": 22,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.9767,
                "dispossessed": 0.9931,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 22,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "bench_appearance_probability": 0.506,
                "bench_expected_minutes": 22.13,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "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": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0101,
                  "after": 0.028
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 9, fifa_overall 74.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0129,
                "assists": 0,
                "expected_goals": 0.028,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.5456,
                "minutes": 22,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.9767,
                "dispossessed": 0.9931,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 22,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "bench_appearance_probability": 0.506,
                "bench_expected_minutes": 22.13,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              },
              "params": {
                "match_squad_rank": 9,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3700,
                "fifa_rank": 2894.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 74.0
              }
            }
          ]
        },
        "Guido Rodríguez": {
          "player_id": 609752,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 2,
          "height": 185,
          "market_value": 4200000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0115,
            "assists": 0,
            "expected_goals": 0.008,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.7478,
            "minutes": 22,
            "total_pass": 14,
            "accurate_pass": 12,
            "duels_won": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 6,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 18,
            "possession_lost": 2.1716,
            "dispossessed": 1.9714,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 1,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 4,
            "total_progression": 4,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.0,
            "minutesPct": 65.6,
            "pointsPerMatch": 0.5,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.308,
            "bench_expected_minutes": 22.03,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.086,
            "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": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 88,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0138,
                "total_shots": 0,
                "total_pass": 49,
                "accurate_pass": 43,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 4,
                "clearances": 1,
                "aerial_won": 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": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assists": 0,
                "expected_goals": 0.0216,
                "expected_assists": 0.0158,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 67,
                "accurate_pass": 60,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 3,
                "aerial_won": 2,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 1819,
            "combined_rank_score": 701.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 172.0,
            "sofascore_rating": 7.25,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1231.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "substitute",
            "projected_match_rating": 6.7478,
            "source_file": "data/player_rankings.csv",
            "player_name": "Guido Rodríguez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jae-hun Cho",
                  "ranking": 1814
                },
                {
                  "player_name": "Abulfayz Bobomurodov",
                  "ranking": 1815
                },
                {
                  "player_name": "Alejandro Rego Mora",
                  "ranking": 1816
                },
                {
                  "player_name": "Alejandro Balde",
                  "ranking": 1817
                },
                {
                  "player_name": "José Luis Morales",
                  "ranking": 1818
                }
              ],
              "lower": [
                {
                  "player_name": "Wesley Fofana",
                  "ranking": 1820
                },
                {
                  "player_name": "Marten de Roon",
                  "ranking": 1821
                },
                {
                  "player_name": "Florentino Luís",
                  "ranking": 1822
                },
                {
                  "player_name": "Benjamin André",
                  "ranking": 1823
                },
                {
                  "player_name": "Konstantinos Mavropanos",
                  "ranking": 1824
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.395,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.395,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 22.031139321914328,
            "bench_appearance_prob": 0.308,
            "market_value_adjustment": 0.9857,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.1333
            },
            "rationale": "Bench projection scaled from XGBoost M_service (2 historical appearances) to 22.0 expected mins (appearance prob 0.31); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0478,
                "assists": 0,
                "expected_goals": 0.0332,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.8458,
                "minutes": 89,
                "total_pass": 58,
                "accurate_pass": 52,
                "duels_won": 6,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 73,
                "possession_lost": 9.0,
                "dispossessed": 2.0,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 0,
                "interceptions": 3,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 18,
                "progressive_carries": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.5405,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.4595,
                    "rating": 7.6
                  }
                ],
                "feature_row": {
                  "history_matches": 2.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.4595,
                  "ballRecovery_p90": 6.9926,
                  "progressiveBallCarriesCount": 0.4595,
                  "expectedAssists": 0.0147,
                  "ballRecovery": 6.9189
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.7507621049880981,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1492
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.049
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0405
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0173
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": -0.0164
                        }
                      ],
                      "others": -0.0269,
                      "total": 0.7508
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.047825414687395096,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0194
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0108
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.004
                        },
                        {
                          "name": "duelWon",
                          "contribution": 0.0034
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0029
                        }
                      ],
                      "others": -0.0114,
                      "total": 0.0478
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.08481045812368393,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0042
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0042
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": 0.0038
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": -0.0037
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0035
                        }
                      ],
                      "others": -0.0144,
                      "total": 0.0848
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.0331629253923893,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0262
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0174
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0068
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.005
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.004
                        }
                      ],
                      "others": -0.0161,
                      "total": 0.0332
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.24246905744075775,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0615
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.0243
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0197
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.008
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0069
                        }
                      ],
                      "others": -0.0181,
                      "total": 0.2425
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.447524756193161,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1925
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1728
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0547
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0493
                        },
                        {
                          "name": "dispossessed",
                          "contribution": 0.0468
                        }
                      ],
                      "others": -0.1884,
                      "total": 0.4475
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.845788955688477,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0531
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0205
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0171
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": 0.0142
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.0137
                        }
                      ],
                      "others": 0.0016,
                      "total": 6.8458
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9857, quality 0.452)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0471,
                "assists": 0,
                "expected_goals": 0.0327,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.7478,
                "minutes": 88,
                "total_pass": 57,
                "accurate_pass": 51,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 72,
                "possession_lost": 8.8712,
                "dispossessed": 1.9714,
                "duels_lost": 5,
                "aerial_won": 2,
                "aerial_lost": 0,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 18,
                "progressive_carries": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 4200000,
                "quality_factor": 0.4523,
                "boost_factor": 0.9857
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0619)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0471,
                "assists": 0,
                "expected_goals": 0.0327,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.7478,
                "minutes": 88,
                "total_pass": 57,
                "accurate_pass": 51,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 72,
                "possession_lost": 8.8712,
                "dispossessed": 1.9714,
                "duels_lost": 5,
                "aerial_won": 2,
                "aerial_lost": 0,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 18,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 0.5,
                "netGoalDifferencePer90": -0.51
              },
              "params": {
                "blend_weight": 0.0619,
                "history_matches": 2,
                "prior_reliability": 0.1333,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "interceptionWon",
                  "before": 2.9571,
                  "after": 2.9288
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.239,
                  "after": 0.2558
                },
                {
                  "stat": "goalAssist",
                  "before": 0.0836,
                  "after": 0.0784
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 22.0 expected minutes (appearance prob 0.31)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0115,
                "assists": 0,
                "expected_goals": 0.008,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.7478,
                "minutes": 22,
                "total_pass": 14,
                "accurate_pass": 12,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.1716,
                "dispossessed": 1.9714,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 4,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 0.5,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.308,
                "bench_expected_minutes": 22.03
              },
              "params": {
                "expected_minutes": 22.03,
                "appearance_probability": 0.308
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0115,
                "assists": 0,
                "expected_goals": 0.008,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.7478,
                "minutes": 22,
                "total_pass": 14,
                "accurate_pass": 12,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.1716,
                "dispossessed": 1.9714,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 4,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 0.5,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.308,
                "bench_expected_minutes": 22.03
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 13, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0115,
                "assists": 0,
                "expected_goals": 0.008,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.7478,
                "minutes": 22,
                "total_pass": 14,
                "accurate_pass": 12,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.1716,
                "dispossessed": 1.9714,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 4,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 0.5,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.308,
                "bench_expected_minutes": 22.03,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "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": 13,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1819,
                "fifa_rank": 1231.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Umar Sadiq": {
          "player_id": 754710,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 6,
          "height": 192,
          "market_value": 3900000,
          "stats": {
            "expected_goals": 0.1232,
            "goal_rate": 0.0903,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "expected_assists": 0.0074,
            "key_pass": 0,
            "rating": 6.6061,
            "minutes": 31,
            "total_pass": 3,
            "accurate_pass": 2,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 2.1225,
            "dispossessed": 1.6442,
            "duels_lost": 2,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 3,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.33,
            "minutesPct": 59.3,
            "pointsPerMatch": 0.33,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.592,
            "bench_expected_minutes": 30.65,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.086,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.8693,
                "expected_assists": 0.011,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 13,
                "accurate_pass": 11,
                "key_pass": 1,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 4,
                "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": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 35,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.4664,
                "expected_assists": 0.0018,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 7,
                "accurate_pass": 4,
                "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": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 33,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.005,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 5,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3257,
            "combined_rank_score": 1203.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1961.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "projected_match_rating": 6.6061,
            "source_file": "data/player_rankings.csv",
            "player_name": "Umar Sadiq",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Yann Aurel Bisseck",
                  "ranking": 3252
                },
                {
                  "player_name": "Christian Kofane",
                  "ranking": 3253
                },
                {
                  "player_name": "Oumar Solet",
                  "ranking": 3254
                },
                {
                  "player_name": "Boulaye Dia",
                  "ranking": 3255
                },
                {
                  "player_name": "Maxence Caqueret",
                  "ranking": 3256
                }
              ],
              "lower": [
                {
                  "player_name": "Jack Butland",
                  "ranking": 3258
                },
                {
                  "player_name": "Martin Terrier",
                  "ranking": 3259
                },
                {
                  "player_name": "Lucas Da Cunha",
                  "ranking": 3260
                },
                {
                  "player_name": "Strahinja Pavlović",
                  "ranking": 3261
                },
                {
                  "player_name": "Félix Correia",
                  "ranking": 3262
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.456,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.456,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 30.65,
            "bench_appearance_prob": 0.592,
            "market_value_adjustment": 0.9846,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 1.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 35.0,
              "goals_per90": 0.5555555555555556,
              "assists_per90": 0.0,
              "prior_reliability": 0.12
            },
            "rationale": "Bench projection scaled from XGBoost F_service (3 historical appearances) to 30.6 expected mins (appearance prob 0.59); FBref playing time empirical prior: 2.0 sub appearances, 35.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1324,
                "goal_rate": 0.2542,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 1,
                "expected_assists": 0.022,
                "key_pass": 0,
                "rating": 6.7096,
                "minutes": 53,
                "total_pass": 9,
                "accurate_pass": 7,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 6.33,
                "dispossessed": 1.67,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 8,
                "progressive_carries": 1,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:14.946589+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3887,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 33.0,
                    "is_starting": false,
                    "weight": 0.2809,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "minutesPlayed": 55.8183,
                  "totalShots": 1.1079,
                  "onTargetScoringAttempt": 1.1079,
                  "touches": 19.3683,
                  "dribbleValueNormalized": 0.1259
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.13237544894218445,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ],
                    "decomposition": {
                      "base": 0.2757,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.069
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0221
                        },
                        {
                          "name": "dispossessed",
                          "contribution": 0.0177
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0149
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0108
                        }
                      ],
                      "others": -0.0442,
                      "total": 0.1324
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.2542436122894287,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 0.3455,
                      "items": [
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0747
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0344
                        },
                        {
                          "name": "aerialLost",
                          "contribution": 0.0276
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": -0.0227
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0162
                        }
                      ],
                      "others": 0.0291,
                      "total": 0.2542
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.6004847884178162,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ],
                    "decomposition": {
                      "base": 0.6329,
                      "items": [
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0524
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0445
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0415
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0391
                        },
                        {
                          "name": "dispossessed",
                          "contribution": 0.0226
                        }
                      ],
                      "others": -0.0605,
                      "total": 0.6005
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.781854510307312,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0896
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.062
                      },
                      {
                        "name": "shotOffTarget",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0517
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0408
                      }
                    ],
                    "decomposition": {
                      "base": 1.531,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.316
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.1497
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0743
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0647
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0437
                        }
                      ],
                      "others": -0.2301,
                      "total": 0.7819
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.021981213241815567,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ],
                    "decomposition": {
                      "base": 0.0579,
                      "items": [
                        {
                          "name": "accuratePass",
                          "contribution": -0.0077
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0063
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0037
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0034
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0023
                        }
                      ],
                      "others": -0.0125,
                      "total": 0.022
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.46232953667640686,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ],
                    "decomposition": {
                      "base": 0.6829,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.16
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0297
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0279
                        },
                        {
                          "name": "duelWon",
                          "contribution": 0.0232
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.024
                        }
                      ],
                      "others": -0.106,
                      "total": 0.4623
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.709610462188721,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ],
                    "decomposition": {
                      "base": 6.7136,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0738
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0607
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0426
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0371
                        },
                        {
                          "name": "speed_threat",
                          "contribution": -0.037
                        }
                      ],
                      "others": 0.0406,
                      "total": 6.7096
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9846, quality 0.449)",
              "stats": {
                "expected_goals": 0.1303,
                "goal_rate": 0.2503,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 1,
                "expected_assists": 0.0216,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 52,
                "total_pass": 9,
                "accurate_pass": 7,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 6.2324,
                "dispossessed": 1.6442,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 8,
                "progressive_carries": 1,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 3900000,
                "quality_factor": 0.4486,
                "boost_factor": 0.9846
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0488)",
              "stats": {
                "expected_goals": 0.1303,
                "goal_rate": 0.2652,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 1,
                "expected_assists": 0.0216,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 52,
                "total_pass": 9,
                "accurate_pass": 7,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 6.2324,
                "dispossessed": 1.6442,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 8,
                "progressive_carries": 1,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 59.3,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": -1.69
              },
              "params": {
                "blend_weight": 0.0488,
                "history_matches": 3,
                "prior_reliability": 0.12,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "totalOffside",
                  "before": 0.0,
                  "after": 0.1083
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.5912,
                  "after": 0.6448
                },
                {
                  "stat": "totalShots",
                  "before": 0.7698,
                  "after": 0.8147
                },
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.0271
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.0271
                },
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0271
                },
                {
                  "stat": "goals",
                  "before": 0.2503,
                  "after": 0.2652
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 30.6 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.0444,
                "goal_rate": 0.0903,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0074,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 31,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1225,
                "dispossessed": 1.6442,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 59.3,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.592,
                "bench_expected_minutes": 30.65
              },
              "params": {
                "expected_minutes": 30.65,
                "appearance_probability": 0.592
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0444,
                "goal_rate": 0.0903,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0074,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 31,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1225,
                "dispossessed": 1.6442,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 59.3,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.592,
                "bench_expected_minutes": 30.65
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "expected_goals": 0.1232,
                "goal_rate": 0.0903,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0074,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 31,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1225,
                "dispossessed": 1.6442,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 59.3,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.592,
                "bench_expected_minutes": 30.65,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "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": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0444,
                  "after": 0.1232
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 15, fifa_overall 76.0)",
              "stats": {
                "expected_goals": 0.1232,
                "goal_rate": 0.0903,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0074,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 31,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1225,
                "dispossessed": 1.6442,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 59.3,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.592,
                "bench_expected_minutes": 30.65,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              },
              "params": {
                "match_squad_rank": 15,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3257,
                "fifa_rank": 1961.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 76.0
              }
            }
          ]
        },
        "Arnaut Danjuma": {
          "player_id": 827064,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 7,
          "height": 178,
          "market_value": 2800000,
          "stats": {
            "expected_goals": 0.0374,
            "goal_rate": 0.0355,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "expected_assists": 0.0098,
            "key_pass": 0,
            "rating": 6.6601,
            "minutes": 28,
            "total_pass": 4,
            "accurate_pass": 3,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 7,
            "possession_lost": 1.7823,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 13,
            "progressive_carries": 1,
            "shots_off_target": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 28.6,
            "shotConversion": 0.0,
            "minutesPct": 61.9,
            "pointsPerMatch": 0.33,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.462,
            "bench_expected_minutes": 28.43,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.086,
            "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": 75.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Valencia",
              "opponent": "Sevilla",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416325.0,
              "match_date": "2026-09-06",
              "home_team": "Valencia",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_goals": 0.6602,
                "expected_assists": 0.0022,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 11,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 30,
                "rating": 7.2,
                "assists": 0,
                "expected_goals": 0.0403,
                "expected_assists": 0.2432,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 8,
                "key_pass": 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": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 55,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.0824,
                "expected_assists": 0.0042,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 7,
                "accurate_pass": 5,
                "tackles": 1,
                "tackles_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": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 83,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.4542,
                "expected_assists": 0.0226,
                "total_shots": 3,
                "shots_off_target": 3,
                "total_pass": 15,
                "accurate_pass": 14,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3473,
            "combined_rank_score": 1464.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 530.0,
            "sofascore_rating": 6.8333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 2398.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "projected_match_rating": 6.6601,
            "source_file": "data/player_rankings.csv",
            "player_name": "Arnaut Danjuma",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jakub Moder",
                  "ranking": 3468
                },
                {
                  "player_name": "Nabil Bentaleb",
                  "ranking": 3469
                },
                {
                  "player_name": "Ludovic Ajorque",
                  "ranking": 3470
                },
                {
                  "player_name": "Jonathan Gradit",
                  "ranking": 3471
                },
                {
                  "player_name": "Ruben Aguilar",
                  "ranking": 3472
                }
              ],
              "lower": [
                {
                  "player_name": "Etta Eyong",
                  "ranking": 3474
                },
                {
                  "player_name": "Thilo Kehrer",
                  "ranking": 3475
                },
                {
                  "player_name": "Takumi Minamino",
                  "ranking": 3476
                },
                {
                  "player_name": "Dani Cárdenas",
                  "ranking": 3477
                },
                {
                  "player_name": "Pierre Lees-Melou",
                  "ranking": 3478
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.519,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.519,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 28.43,
            "bench_appearance_prob": 0.462,
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 2.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 31.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.1267
            },
            "rationale": "Bench projection scaled from XGBoost F_service (4 historical appearances) to 28.4 expected mins (appearance prob 0.46); FBref playing time empirical prior: 1.0 sub appearances, 31.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1206,
                "goal_rate": 0.1199,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0316,
                "key_pass": 1,
                "rating": 6.7875,
                "minutes": 64,
                "total_pass": 12,
                "accurate_pass": 10,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 22,
                "possession_lost": 5.75,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 43,
                "progressive_carries": 2,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:14.946589+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 30.0,
                    "is_starting": false,
                    "weight": 0.2667,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 55.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 83.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 0.0,
                  "minutesPlayed": 64.7111,
                  "totalShots": 2.5065,
                  "onTargetScoringAttempt": 1.1211,
                  "touches": 22.1411,
                  "dribbleValueNormalized": 0.3024
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.12063182145357132,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ],
                    "decomposition": {
                      "base": 0.2757,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0675
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0333
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0138
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0074
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0066
                        }
                      ],
                      "others": -0.0265,
                      "total": 0.1206
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.11991925537586212,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 0.3455,
                      "items": [
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0887
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0515
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0287
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0119
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0103
                        }
                      ],
                      "others": -0.0345,
                      "total": 0.1199
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5586043000221252,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ],
                    "decomposition": {
                      "base": 0.6329,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0649
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0272
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0188
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0165
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0147
                        }
                      ],
                      "others": -0.062,
                      "total": 0.5586
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.0820595026016235,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0896
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.062
                      },
                      {
                        "name": "shotOffTarget",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0517
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0408
                      }
                    ],
                    "decomposition": {
                      "base": 1.531,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1939
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.1897
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1236
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0613
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.0393
                        }
                      ],
                      "others": -0.1669,
                      "total": 1.0821
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0315934456884861,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ],
                    "decomposition": {
                      "base": 0.0579,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0078
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0067
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": -0.003
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0024
                        },
                        {
                          "name": "duelLost",
                          "contribution": 0.0021
                        }
                      ],
                      "others": -0.0085,
                      "total": 0.0316
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.5492808818817139,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ],
                    "decomposition": {
                      "base": 0.6829,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1237
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0315
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0263
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0233
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0225
                        }
                      ],
                      "others": -0.0039,
                      "total": 0.5493
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.787506580352783,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ],
                    "decomposition": {
                      "base": 6.7136,
                      "items": [
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0411
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0354
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0343
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0306
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0301
                        }
                      ],
                      "others": 0.0946,
                      "total": 6.7875
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "expected_goals": 0.1184,
                "goal_rate": 0.1177,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.031,
                "key_pass": 1,
                "rating": 6.6601,
                "minutes": 63,
                "total_pass": 11,
                "accurate_pass": 9,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 22,
                "possession_lost": 5.6421,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 42,
                "progressive_carries": 2,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 2800000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9812
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0458)",
              "stats": {
                "expected_goals": 0.1184,
                "goal_rate": 0.1123,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.031,
                "key_pass": 1,
                "rating": 6.6601,
                "minutes": 63,
                "total_pass": 11,
                "accurate_pass": 9,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 22,
                "possession_lost": 5.6421,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 42,
                "progressive_carries": 2,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.0,
                "minutesPct": 61.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0
              },
              "params": {
                "blend_weight": 0.0458,
                "history_matches": 4,
                "prior_reliability": 0.1267,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.0618,
                  "after": 1.1857
                },
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.0963
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.0722
                },
                {
                  "stat": "wasFouled",
                  "before": 1.2265,
                  "after": 1.2667
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.5481,
                  "after": 0.5724
                },
                {
                  "stat": "wonTackle",
                  "before": 0.0,
                  "after": 0.0241
                },
                {
                  "stat": "totalOffside",
                  "before": 0.0,
                  "after": 0.0241
                },
                {
                  "stat": "goals",
                  "before": 0.1177,
                  "after": 0.1123
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 28.4 expected minutes (appearance prob 0.46)",
              "stats": {
                "expected_goals": 0.0374,
                "goal_rate": 0.0355,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0098,
                "key_pass": 0,
                "rating": 6.6601,
                "minutes": 28,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.7823,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 13,
                "progressive_carries": 1,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.0,
                "minutesPct": 61.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.462,
                "bench_expected_minutes": 28.43
              },
              "params": {
                "expected_minutes": 28.43,
                "appearance_probability": 0.462
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0374,
                "goal_rate": 0.0355,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0098,
                "key_pass": 0,
                "rating": 6.6601,
                "minutes": 28,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.7823,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 13,
                "progressive_carries": 1,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.0,
                "minutesPct": 61.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.462,
                "bench_expected_minutes": 28.43
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 16, fifa_overall 75.0)",
              "stats": {
                "expected_goals": 0.0374,
                "goal_rate": 0.0355,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0098,
                "key_pass": 0,
                "rating": 6.6601,
                "minutes": 28,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.7823,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 13,
                "progressive_carries": 1,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.0,
                "minutesPct": 61.9,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.462,
                "bench_expected_minutes": 28.43,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "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": 75.0
              },
              "params": {
                "match_squad_rank": 16,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3473,
                "fifa_rank": 2398.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 75.0
              }
            }
          ]
        }
      },
      "substitutes": {
        "Umar Sadiq": {
          "player_id": 754710,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 6,
          "height": 192,
          "market_value": 3900000,
          "stats": {
            "expected_goals": 0.1232,
            "goal_rate": 0.0903,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "expected_assists": 0.0074,
            "key_pass": 0,
            "rating": 6.6061,
            "minutes": 31,
            "total_pass": 3,
            "accurate_pass": 2,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 2.1225,
            "dispossessed": 1.6442,
            "duels_lost": 2,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 3,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.33,
            "minutesPct": 59.3,
            "pointsPerMatch": 0.33,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.592,
            "bench_expected_minutes": 30.65,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.086,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Valencia",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.8693,
                "expected_assists": 0.011,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 13,
                "accurate_pass": 11,
                "key_pass": 1,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 4,
                "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": 16421049.0,
              "match_date": "2026-08-25",
              "home_team": "Valencia",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 35,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.4664,
                "expected_assists": 0.0018,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 7,
                "accurate_pass": 4,
                "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": 16416298.0,
              "match_date": "2026-08-22",
              "home_team": "Valencia",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Valencia",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 33,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.005,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 5,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3257,
            "combined_rank_score": 1203.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1961.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "projected_match_rating": 6.6061,
            "source_file": "data/player_rankings.csv",
            "player_name": "Umar Sadiq",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Yann Aurel Bisseck",
                  "ranking": 3252
                },
                {
                  "player_name": "Christian Kofane",
                  "ranking": 3253
                },
                {
                  "player_name": "Oumar Solet",
                  "ranking": 3254
                },
                {
                  "player_name": "Boulaye Dia",
                  "ranking": 3255
                },
                {
                  "player_name": "Maxence Caqueret",
                  "ranking": 3256
                }
              ],
              "lower": [
                {
                  "player_name": "Jack Butland",
                  "ranking": 3258
                },
                {
                  "player_name": "Martin Terrier",
                  "ranking": 3259
                },
                {
                  "player_name": "Lucas Da Cunha",
                  "ranking": 3260
                },
                {
                  "player_name": "Strahinja Pavlović",
                  "ranking": 3261
                },
                {
                  "player_name": "Félix Correia",
                  "ranking": 3262
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.456,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.456,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 30.65,
            "bench_appearance_prob": 0.592,
            "market_value_adjustment": 0.9846,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 1.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 35.0,
              "goals_per90": 0.5555555555555556,
              "assists_per90": 0.0,
              "prior_reliability": 0.12
            },
            "rationale": "Bench projection scaled from XGBoost F_service (3 historical appearances) to 30.6 expected mins (appearance prob 0.59); FBref playing time empirical prior: 2.0 sub appearances, 35.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1324,
                "goal_rate": 0.2542,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 1,
                "expected_assists": 0.022,
                "key_pass": 0,
                "rating": 6.7096,
                "minutes": 53,
                "total_pass": 9,
                "accurate_pass": 7,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 6.33,
                "dispossessed": 1.67,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 8,
                "progressive_carries": 1,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:14.946589+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3887,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-08-25",
                    "opponent": "Real Betis",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Celta Vigo",
                    "minutes": 33.0,
                    "is_starting": false,
                    "weight": 0.2809,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "minutesPlayed": 55.8183,
                  "totalShots": 1.1079,
                  "onTargetScoringAttempt": 1.1079,
                  "touches": 19.3683,
                  "dribbleValueNormalized": 0.1259
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.13237544894218445,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ],
                    "decomposition": {
                      "base": 0.2757,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.069
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0221
                        },
                        {
                          "name": "dispossessed",
                          "contribution": 0.0177
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0149
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0108
                        }
                      ],
                      "others": -0.0442,
                      "total": 0.1324
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.2542436122894287,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 0.3455,
                      "items": [
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0747
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0344
                        },
                        {
                          "name": "aerialLost",
                          "contribution": 0.0276
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": -0.0227
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0162
                        }
                      ],
                      "others": 0.0291,
                      "total": 0.2542
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.6004847884178162,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ],
                    "decomposition": {
                      "base": 0.6329,
                      "items": [
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0524
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0445
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0415
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0391
                        },
                        {
                          "name": "dispossessed",
                          "contribution": 0.0226
                        }
                      ],
                      "others": -0.0605,
                      "total": 0.6005
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.781854510307312,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0896
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.062
                      },
                      {
                        "name": "shotOffTarget",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0517
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0408
                      }
                    ],
                    "decomposition": {
                      "base": 1.531,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.316
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.1497
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0743
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0647
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0437
                        }
                      ],
                      "others": -0.2301,
                      "total": 0.7819
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.021981213241815567,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ],
                    "decomposition": {
                      "base": 0.0579,
                      "items": [
                        {
                          "name": "accuratePass",
                          "contribution": -0.0077
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0063
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0037
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0034
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0023
                        }
                      ],
                      "others": -0.0125,
                      "total": 0.022
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.46232953667640686,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ],
                    "decomposition": {
                      "base": 0.6829,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.16
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0297
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0279
                        },
                        {
                          "name": "duelWon",
                          "contribution": 0.0232
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.024
                        }
                      ],
                      "others": -0.106,
                      "total": 0.4623
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.709610462188721,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ],
                    "decomposition": {
                      "base": 6.7136,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0738
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0607
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0426
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0371
                        },
                        {
                          "name": "speed_threat",
                          "contribution": -0.037
                        }
                      ],
                      "others": 0.0406,
                      "total": 6.7096
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9846, quality 0.449)",
              "stats": {
                "expected_goals": 0.1303,
                "goal_rate": 0.2503,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 1,
                "expected_assists": 0.0216,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 52,
                "total_pass": 9,
                "accurate_pass": 7,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 6.2324,
                "dispossessed": 1.6442,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 8,
                "progressive_carries": 1,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 3900000,
                "quality_factor": 0.4486,
                "boost_factor": 0.9846
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0488)",
              "stats": {
                "expected_goals": 0.1303,
                "goal_rate": 0.2652,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 1,
                "expected_assists": 0.0216,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 52,
                "total_pass": 9,
                "accurate_pass": 7,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 6.2324,
                "dispossessed": 1.6442,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 8,
                "progressive_carries": 1,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 59.3,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": -1.69
              },
              "params": {
                "blend_weight": 0.0488,
                "history_matches": 3,
                "prior_reliability": 0.12,
                "competition": "La Liga",
                "squad": "Valencia"
              },
              "changes": [
                {
                  "stat": "totalOffside",
                  "before": 0.0,
                  "after": 0.1083
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.5912,
                  "after": 0.6448
                },
                {
                  "stat": "totalShots",
                  "before": 0.7698,
                  "after": 0.8147
                },
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.0271
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.0271
                },
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0271
                },
                {
                  "stat": "goals",
                  "before": 0.2503,
                  "after": 0.2652
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 30.6 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.0444,
                "goal_rate": 0.0903,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0074,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 31,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1225,
                "dispossessed": 1.6442,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 59.3,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.592,
                "bench_expected_minutes": 30.65
              },
              "params": {
                "expected_minutes": 30.65,
                "appearance_probability": 0.592
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0444,
                "goal_rate": 0.0903,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0074,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 31,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1225,
                "dispossessed": 1.6442,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 59.3,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.592,
                "bench_expected_minutes": 30.65
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "expected_goals": 0.1232,
                "goal_rate": 0.0903,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0074,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 31,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1225,
                "dispossessed": 1.6442,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 59.3,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.592,
                "bench_expected_minutes": 30.65,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "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": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0444,
                  "after": 0.1232
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 15, fifa_overall 76.0)",
              "stats": {
                "expected_goals": 0.1232,
                "goal_rate": 0.0903,
                "goals": 0,
                "shots_on_target": 0,
                "total_shots": 0,
                "expected_assists": 0.0074,
                "key_pass": 0,
                "rating": 6.6061,
                "minutes": 31,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1225,
                "dispossessed": 1.6442,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 59.3,
                "pointsPerMatch": 0.33,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.592,
                "bench_expected_minutes": 30.65,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              },
              "params": {
                "match_squad_rank": 15,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3257,
                "fifa_rank": 1961.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 76.0
              }
            }
          ]
        },
        "André Almeida": {
          "player_id": 845693,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 10,
          "height": 176,
          "market_value": 6200000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0129,
            "assists": 0,
            "expected_goals": 0.028,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.5456,
            "minutes": 22,
            "total_pass": 8,
            "accurate_pass": 7,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 0.9767,
            "dispossessed": 0.9931,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 4,
            "total_progression": 22,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.506,
            "bench_expected_minutes": 22.13,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.086,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16416321.0,
              "match_date": "2026-09-05",
              "home_team": "Rayo Vallecano",
              "away_team": "Real Racing Club",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Racing Club",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 35,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.449,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 30,
                "tackles": 2,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3700,
            "combined_rank_score": 1656.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 418.0,
            "sofascore_rating": 6.925,
            "sofascore_appearances": 22.0,
            "fifa_rank": 2894.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "substitute",
            "projected_match_rating": 6.5456,
            "source_file": "data/player_rankings.csv",
            "player_name": "André Almeida",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Samuel Dahl",
                  "ranking": 3695
                },
                {
                  "player_name": "Alan Lescano",
                  "ranking": 3696
                },
                {
                  "player_name": "Dénes Dibusz",
                  "ranking": 3697
                },
                {
                  "player_name": "Luciano Juba",
                  "ranking": 3698
                },
                {
                  "player_name": "Jean Lucas",
                  "ranking": 3699
                }
              ],
              "lower": [
                {
                  "player_name": "Jean-Ricner Bellegarde",
                  "ranking": 3701
                },
                {
                  "player_name": "Kervin Arriaga",
                  "ranking": 3702
                },
                {
                  "player_name": "Bryan Gil",
                  "ranking": 3703
                },
                {
                  "player_name": "Taiwo Awoniyi",
                  "ranking": 3704
                },
                {
                  "player_name": "Ismail Jakobs",
                  "ranking": 3705
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 22.128465634082904,
            "bench_appearance_prob": 0.5058393470037683,
            "market_value_adjustment": 0.9931,
            "fbref_prior_metrics": {
              "squad": "Valencia",
              "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 M_service (1 historical appearances) to 22.1 expected mins (appearance prob 0.51); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0527,
                "assists": 0,
                "expected_goals": 0.0414,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.5913,
                "minutes": 35,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 20,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 4.0,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 89,
                "progressive_carries": 2,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Rayo Vallecano",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 7.3
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.0,
                  "ballRecovery_p90": 5.1429,
                  "progressiveBallCarriesCount": 2.0,
                  "expectedAssists": 0.449,
                  "ballRecovery": 2.0
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.7942147850990295,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2302
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0829
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0581
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0346
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0295
                        }
                      ],
                      "others": 0.0946,
                      "total": 0.7942
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.05272402986884117,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0185
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0111
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0044
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0038
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0038
                        }
                      ],
                      "others": -0.0062,
                      "total": 0.0527
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.09800294786691666,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0145
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0051
                        },
                        {
                          "name": "keyPass_p90",
                          "contribution": -0.0035
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0034
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0029
                        }
                      ],
                      "others": -0.004,
                      "total": 0.098
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.04138951748609543,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0269
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0165
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0081
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0064
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0036
                        }
                      ],
                      "others": -0.013,
                      "total": 0.0414
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.21022091805934906,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0589
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0203
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0177
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0106
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0088
                        }
                      ],
                      "others": -0.0059,
                      "total": 0.2102
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6304405927658081,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2061
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2052
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0997
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0475
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0467
                        }
                      ],
                      "others": -0.0222,
                      "total": 0.6304
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.591342926025391,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "kilometersCovered",
                          "contribution": -0.3435
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0567
                        },
                        {
                          "name": "intensity_index",
                          "contribution": 0.0525
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.041
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0361
                        }
                      ],
                      "others": 0.1121,
                      "total": 6.5913
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9931, quality 0.477)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0524,
                "assists": 0,
                "expected_goals": 0.0411,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.5456,
                "minutes": 35,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 20,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 3.9723,
                "dispossessed": 0.9931,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 88,
                "progressive_carries": 2,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 6200000,
                "quality_factor": 0.4769,
                "boost_factor": 0.9931
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0524,
                "assists": 0,
                "expected_goals": 0.0411,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.5456,
                "minutes": 35,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 20,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 3.9723,
                "dispossessed": 0.9931,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 88,
                "progressive_carries": 2,
                "shots_off_target": 0
              },
              "params": {
                "blend_weight": 0.0,
                "history_matches": 1,
                "prior_reliability": 0.0,
                "competition": "La Liga",
                "squad": "Valencia"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 22.1 expected minutes (appearance prob 0.51)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0129,
                "assists": 0,
                "expected_goals": 0.0101,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.5456,
                "minutes": 22,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.9767,
                "dispossessed": 0.9931,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 22,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "bench_appearance_probability": 0.506,
                "bench_expected_minutes": 22.13
              },
              "params": {
                "expected_minutes": 22.13,
                "appearance_probability": 0.506
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0129,
                "assists": 0,
                "expected_goals": 0.0101,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.5456,
                "minutes": 22,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.9767,
                "dispossessed": 0.9931,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 22,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "bench_appearance_probability": 0.506,
                "bench_expected_minutes": 22.13
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.53 (squad xG sum 0.5526, xG scale 2.7742)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0129,
                "assists": 0,
                "expected_goals": 0.028,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.5456,
                "minutes": 22,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.9767,
                "dispossessed": 0.9931,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 22,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "bench_appearance_probability": 0.506,
                "bench_expected_minutes": 22.13,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "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": {
                "team_lambda": 1.533,
                "squad_xg_sum": 0.5526,
                "xg_scale": 2.7742,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0101,
                  "after": 0.028
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 9, fifa_overall 74.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0129,
                "assists": 0,
                "expected_goals": 0.028,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.5456,
                "minutes": 22,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 0.9767,
                "dispossessed": 0.9931,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 22,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "bench_appearance_probability": 0.506,
                "bench_expected_minutes": 22.13,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.086,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              },
              "params": {
                "match_squad_rank": 9,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3700,
                "fifa_rank": 2894.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 74.0
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 1,
        "expected_goals": 1.53,
        "expected_assists": 0.57,
        "total_shots": 8,
        "shots_on_target": 2,
        "total_passes": 411,
        "interceptions": 6,
        "tackles": 10,
        "avg_rating": 6.86,
        "possession_estimated_pct": 49.4,
        "pressing_actions_per_90": 6.8
      }
    },
    "Real Sociedad": {
      "formation": "5-3-2",
      "players": {
        "Álex Remiro": {
          "player_id": 791773,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 1,
          "height": 191,
          "market_value": 9600000,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0233,
            "rating": 7.1197,
            "minutes": 90,
            "total_pass": 42,
            "accurate_pass": 30,
            "duels_won": 0,
            "total_long_balls": 22,
            "accurate_long_balls": 10,
            "touches": 53,
            "clearances": 0,
            "ball_recovery": 8,
            "high_claims": 0,
            "punches": 0.0,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 3,
            "possession_lost": 12.8179,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 28,
            "accurate_own_half_passes": 25,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "total_shots": 0,
            "shots_on_target": 0,
            "goalsAgainst": 1.5,
            "shotsOnTargetAgainst": 5.75,
            "cleanSheets": 0.25,
            "interceptions": 0,
            "tackles_won": 0,
            "crosses_total": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "penaltySave": 0.0,
            "ownGoals": 0.0,
            "savePct": 73.9,
            "cleanSheetPct": 25.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "expected_saves": 0.82,
            "high_pressure_saves": 0.31,
            "shots_faced": 1.8,
            "opponent_faced": "Javier Guerra, Hugo Duro",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416332.0,
              "match_date": "2026-09-13 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Real Sociedad",
              "away_team": "Atl. Madrid",
              "home_score_current": 0.0,
              "away_score_current": 3.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Real Sociedad",
              "opponent": "Atl. Madrid",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.0021,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 32,
                "clearances": 2,
                "ball_recovery": 5,
                "saves": 2,
                "goals_prevented": 0.0935
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.0024,
                "total_shots": 0,
                "total_pass": 40,
                "accurate_pass": 25,
                "ball_recovery": 3,
                "saves": 2,
                "goals_prevented": -0.2288
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 28,
                "ball_recovery": 11,
                "saves": 7,
                "goals_prevented": 0.2697
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 9.0,
                "assists": 0,
                "expected_assists": 0.0061,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 33,
                "ball_recovery": 14,
                "saves": 6,
                "goals_prevented": 1.5276
              },
              "has_player_stats": true,
              "league_name": "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": 591,
            "combined_rank_score": 308.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 43.0,
            "sofascore_rating": 7.825,
            "sofascore_appearances": 4.0,
            "fifa_rank": 574.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "starter",
            "projected_match_rating": 7.1197,
            "source_file": "data/player_rankings.csv",
            "player_name": "Álex Remiro",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "George Pickford",
                  "ranking": 586
                },
                {
                  "player_name": "Shane Nti",
                  "ranking": 587
                },
                {
                  "player_name": "Gnangoro Bouare Samake",
                  "ranking": 588
                },
                {
                  "player_name": "Nizar El Jmili Ben Hamou",
                  "ranking": 589
                },
                {
                  "player_name": "Manuel Angel Castillo Rodrguez",
                  "ranking": 590
                }
              ],
              "lower": [
                {
                  "player_name": "Dejan Kulusevski",
                  "ranking": 592
                },
                {
                  "player_name": "Inpyo Oh",
                  "ranking": 593
                },
                {
                  "player_name": "Leandro Paredes",
                  "ranking": 594
                },
                {
                  "player_name": "Claudio Sepúlveda",
                  "ranking": 595
                },
                {
                  "player_name": "Juan Manuel Requena",
                  "ranking": 596
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.54,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "G_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "accurateLongBalls",
              "totalOwnHalfPasses",
              "accurateOwnHalfPasses",
              "saves",
              "savedShotsFromInsideTheBox",
              "goodHighClaim",
              "punches",
              "aerialWon",
              "totalKeeperSweeper",
              "accurateKeeperSweeper",
              "totalClearance",
              "ballRecovery",
              "touches",
              "possessionLostCtrl",
              "kilometersCovered",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "gk_coverage",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.54,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0053,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 4.0,
              "minutes": 360.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.2667
            },
            "rationale": "XGBoost regressor (G_service) evaluated 4 historical appearances across 3 target models; FBref 2026-2027 prior blended (La Liga, Real Sociedad, rel: 0.27, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0231,
                "rating": 7.082,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 30,
                "duels_won": 0,
                "total_long_balls": 22,
                "accurate_long_balls": 10,
                "touches": 52,
                "clearances": 0,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 2,
                "possession_lost": 12.75,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 25
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:40.064367+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 113,
                    "rows": 393
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 9.0
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "sweeper_actions_p90": 0.8944,
                  "touches": 51.2253,
                  "totalOwnHalfPasses": 27.8321,
                  "punches": 0.3138,
                  "distribution_accuracy": 0.9006,
                  "accurateKeeperSweeper": 0.8944
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.8131802082061768,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0587
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0534
                      },
                      {
                        "name": "touches",
                        "importance": 0.0497
                      },
                      {
                        "name": "totalOwnHalfPasses",
                        "importance": 0.049
                      },
                      {
                        "name": "distribution_accuracy",
                        "importance": 0.043
                      }
                    ],
                    "decomposition": {
                      "base": 2.9806,
                      "items": [
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": -0.1309
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0346
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0291
                        },
                        {
                          "name": "distribution_accuracy",
                          "contribution": 0.0273
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0214
                        }
                      ],
                      "others": 0.0213,
                      "total": 2.8132
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": 0.023127717897295952,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.053
                      },
                      {
                        "name": "punches",
                        "importance": 0.051
                      },
                      {
                        "name": "touches",
                        "importance": 0.0482
                      },
                      {
                        "name": "accurateLongBalls",
                        "importance": 0.0468
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0432
                      }
                    ],
                    "decomposition": {
                      "base": -0.0536,
                      "items": [
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": -0.0434
                        },
                        {
                          "name": "commanding_index",
                          "contribution": -0.0394
                        },
                        {
                          "name": "inside_box_save_rate",
                          "contribution": 0.0382
                        },
                        {
                          "name": "distribution_accuracy",
                          "contribution": 0.0353
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0303
                        }
                      ],
                      "others": 0.0557,
                      "total": 0.0231
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.082029819488525,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0593
                      },
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "distribution_accuracy",
                        "importance": 0.0484
                      },
                      {
                        "name": "savedShotsFromInsideTheBox",
                        "importance": 0.0468
                      },
                      {
                        "name": "punches",
                        "importance": 0.0464
                      }
                    ],
                    "decomposition": {
                      "base": 7.0716,
                      "items": [
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": -0.0808
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": 0.0612
                        },
                        {
                          "name": "commanding_index",
                          "contribution": -0.0483
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0263
                        },
                        {
                          "name": "inside_box_save_rate",
                          "contribution": 0.0238
                        }
                      ],
                      "others": 0.0282,
                      "total": 7.082
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0053, quality 0.518)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0233,
                "rating": 7.1197,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 30,
                "duels_won": 0,
                "total_long_balls": 22,
                "accurate_long_balls": 10,
                "touches": 53,
                "clearances": 0,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 3,
                "possession_lost": 12.8179,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 25
              },
              "params": {
                "market_value_eur": 9600000,
                "quality_factor": 0.5177,
                "boost_factor": 1.0053
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0963)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0233,
                "rating": 7.1197,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 30,
                "duels_won": 0,
                "total_long_balls": 22,
                "accurate_long_balls": 10,
                "touches": 53,
                "clearances": 0,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 3,
                "possession_lost": 12.8179,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.5,
                "shotsOnTargetAgainst": 5.75,
                "cleanSheets": 0.25,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 73.9,
                "cleanSheetPct": 25.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.75
              },
              "params": {
                "blend_weight": 0.0963,
                "history_matches": 4,
                "prior_reliability": 0.2667,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "saves",
                  "before": 2.8282,
                  "after": 2.9651
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0233,
                "rating": 7.1197,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 30,
                "duels_won": 0,
                "total_long_balls": 22,
                "accurate_long_balls": 10,
                "touches": 53,
                "clearances": 0,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 3,
                "possession_lost": 12.8179,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.5,
                "shotsOnTargetAgainst": 5.75,
                "cleanSheets": 0.25,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 73.9,
                "cleanSheetPct": 25.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "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": 3,
                "goals_prevented": 0.0233,
                "rating": 7.1197,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 30,
                "duels_won": 0,
                "total_long_balls": 22,
                "accurate_long_balls": 10,
                "touches": 53,
                "clearances": 0,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 3,
                "possession_lost": 12.8179,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.5,
                "shotsOnTargetAgainst": 5.75,
                "cleanSheets": 0.25,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 73.9,
                "cleanSheetPct": 25.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 0.82,
                "high_pressure_saves": 0.31,
                "shots_faced": 1.8,
                "opponent_faced": "Javier Guerra, Hugo Duro",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Javier Guerra, Hugo Duro",
                  "matchup_zone": "Goalkeeper shot-stopping context"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0233,
                "rating": 7.1197,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 30,
                "duels_won": 0,
                "total_long_balls": 22,
                "accurate_long_balls": 10,
                "touches": 53,
                "clearances": 0,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 3,
                "possession_lost": 12.8179,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.5,
                "shotsOnTargetAgainst": 5.75,
                "cleanSheets": 0.25,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 73.9,
                "cleanSheetPct": 25.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 0.82,
                "high_pressure_saves": 0.31,
                "shots_faced": 1.8,
                "opponent_faced": "Javier Guerra, Hugo Duro",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0
              },
              "params": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 13, fifa_overall 81.0)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0233,
                "rating": 7.1197,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 30,
                "duels_won": 0,
                "total_long_balls": 22,
                "accurate_long_balls": 10,
                "touches": 53,
                "clearances": 0,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 3,
                "possession_lost": 12.8179,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.5,
                "shotsOnTargetAgainst": 5.75,
                "cleanSheets": 0.25,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 73.9,
                "cleanSheetPct": 25.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 0.82,
                "high_pressure_saves": 0.31,
                "shots_faced": 1.8,
                "opponent_faced": "Javier Guerra, Hugo Duro",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 81.0
              },
              "params": {
                "match_squad_rank": 13,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 591,
                "fifa_rank": 574.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0233,
                "rating": 7.1197,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 30,
                "duels_won": 0,
                "total_long_balls": 22,
                "accurate_long_balls": 10,
                "touches": 53,
                "clearances": 0,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 3,
                "possession_lost": 12.8179,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.5,
                "shotsOnTargetAgainst": 5.75,
                "cleanSheets": 0.25,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 73.9,
                "cleanSheetPct": 25.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 0.82,
                "high_pressure_saves": 0.31,
                "shots_faced": 1.8,
                "opponent_faced": "Javier Guerra, Hugo Duro",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.0,
                "squad_weight_total": 10.0356,
                "weight_share": 0.0,
                "position_multiplier": 0.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0233,
                "rating": 7.1197,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 30,
                "duels_won": 0,
                "total_long_balls": 22,
                "accurate_long_balls": 10,
                "touches": 53,
                "clearances": 0,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 3,
                "possession_lost": 12.8179,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.5,
                "shotsOnTargetAgainst": 5.75,
                "cleanSheets": 0.25,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 73.9,
                "cleanSheetPct": 25.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 0.82,
                "high_pressure_saves": 0.31,
                "shots_faced": 1.8,
                "opponent_faced": "Javier Guerra, Hugo Duro",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0,
                "squad_weight_total": 5.9438,
                "weight_share": 0.0,
                "position_multiplier": 0.0
              }
            }
          ]
        },
        "Mamadou Sarr": {
          "player_id": 1154657,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 19,
          "height": 194,
          "market_value": 24000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "total_shots": 1,
            "rating": 6.9406,
            "minutes": 61,
            "total_pass": 32,
            "accurate_pass": 30,
            "duels_won": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 24,
            "accurate_own_half_passes": 24,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 6,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 40,
            "possession_lost": 2.1011,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 14,
            "total_progression": 6,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 1,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.1,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.4,
            "defensive_success_rate": 0.766,
            "opponent_faced": "Filip Ugrinić",
            "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,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416332.0,
              "match_date": "2026-09-13 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Real Sociedad",
              "away_team": "Atl. Madrid",
              "home_score_current": 0.0,
              "away_score_current": 3.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Real Sociedad",
              "opponent": "Atl. Madrid",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 58,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0017,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 29,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3265,
            "combined_rank_score": 1210.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 976.0,
            "sofascore_rating": 6.3,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1444.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "projected_match_rating": 6.9406,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mamadou Sarr",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lucas Da Cunha",
                  "ranking": 3260
                },
                {
                  "player_name": "Strahinja Pavlović",
                  "ranking": 3261
                },
                {
                  "player_name": "Félix Correia",
                  "ranking": 3262
                },
                {
                  "player_name": "Kenneth Taylor",
                  "ranking": 3263
                },
                {
                  "player_name": "Johan Vásquez",
                  "ranking": 3264
                }
              ],
              "lower": [
                {
                  "player_name": "Yoan Bonny",
                  "ranking": 3266
                },
                {
                  "player_name": "Urko González",
                  "ranking": 3267
                },
                {
                  "player_name": "Tasos Douvikas",
                  "ranking": 3268
                },
                {
                  "player_name": "Sam Beukema",
                  "ranking": 3269
                },
                {
                  "player_name": "Máximo Perrone",
                  "ranking": 3270
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0506,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "XGBoost regressor (D_service) evaluated 1 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Real Sociedad, rel: 0.00, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.6066,
                "minutes": 58,
                "total_pass": 30,
                "accurate_pass": 29,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 2.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 6,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 58.0,
                    "is_starting": true,
                    "weight": 1.0,
                    "rating": 7.1
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 1.0,
                  "touches_p90": 58.9655,
                  "accuratePass": 29.0,
                  "possessionLostCtrl": 2.0,
                  "totalClearance": 2.0,
                  "totalClearance_p90": 3.1034
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9725098013877869,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0514
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": 0.0391
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0339
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0264
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0124
                        }
                      ],
                      "others": -0.0239,
                      "total": 0.9725
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.232204556465149,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "totalProgression",
                          "contribution": -0.1182
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0554
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0402
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0274
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0257
                        }
                      ],
                      "others": 0.089,
                      "total": 1.2322
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.9105150699615479,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "long_ball_accuracy",
                          "contribution": 0.1259
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.113
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.082
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0743
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0352
                        }
                      ],
                      "others": 0.0576,
                      "total": 0.9105
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.590803384780884,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.5692
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.4857
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.3556
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.2055
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.1517
                        }
                      ],
                      "others": -0.3053,
                      "total": 3.5908
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.2476158142089844,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.0701
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0638
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0579
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0458
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0398
                        }
                      ],
                      "others": 0.0875,
                      "total": 1.2476
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.4956643581390381,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "long_ball_accuracy",
                          "contribution": 0.0744
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0356
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0304
                        },
                        {
                          "name": "duelWon",
                          "contribution": -0.021
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0207
                        }
                      ],
                      "others": -0.0398,
                      "total": 0.4957
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.606606483459473,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0972
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0509
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0278
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0183
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0178
                        }
                      ],
                      "others": -0.0181,
                      "total": 6.6066
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0506, quality 0.669)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.9406,
                "minutes": 61,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 40,
                "possession_lost": 2.1011,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 6,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 24000000,
                "quality_factor": 0.6685,
                "boost_factor": 1.0506
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.9406,
                "minutes": 61,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 40,
                "possession_lost": 2.1011,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 6,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1
              },
              "params": {
                "blend_weight": 0.0,
                "history_matches": 1,
                "prior_reliability": 0.0,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.9406,
                "minutes": 61,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 40,
                "possession_lost": 2.1011,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 6,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1
              },
              "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,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.9406,
                "minutes": 61,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 40,
                "possession_lost": 2.1011,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 6,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.766,
                "opponent_faced": "Filip Ugrinić",
                "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": "Filip Ugrinić",
                  "matchup_zone": "LW vs RWB + CB"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.9406,
                "minutes": 61,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 40,
                "possession_lost": 2.1011,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 6,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.766,
                "opponent_faced": "Filip Ugrinić",
                "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": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 4, fifa_overall 77.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.9406,
                "minutes": 61,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 40,
                "possession_lost": 2.1011,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 6,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.766,
                "opponent_faced": "Filip Ugrinić",
                "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,
                "fifa_overall": 77.0
              },
              "params": {
                "match_squad_rank": 4,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3265,
                "fifa_rank": 1444.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.9406,
                "minutes": 61,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 40,
                "possession_lost": 2.1011,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 6,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.766,
                "opponent_faced": "Filip Ugrinić",
                "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,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.6583,
                "squad_weight_total": 10.0356,
                "weight_share": 0.0656,
                "position_multiplier": 0.38
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.9406,
                "minutes": 61,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 40,
                "possession_lost": 2.1011,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 6,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.766,
                "opponent_faced": "Filip Ugrinić",
                "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,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0677,
                "squad_weight_total": 5.9438,
                "weight_share": 0.0114,
                "position_multiplier": 0.45
              }
            }
          ]
        },
        "Jon Martin": {
          "player_id": 1466116,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 6,
          "height": 185,
          "market_value": 24000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 7.0391,
            "minutes": 77,
            "total_pass": 53,
            "accurate_pass": 49,
            "duels_won": 4,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 38,
            "accurate_own_half_passes": 37,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 61,
            "possession_lost": 0.0,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0105,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 18,
            "total_progression": 28,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 50.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "opponent_faced": "Hugo Duro",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 6,
                "rating": 4.4,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 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": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.0366,
                "expected_assists": 0.01,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 71,
                "accurate_pass": 70,
                "interceptions": 1,
                "clearances": 6,
                "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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.0618,
                "expected_assists": 0.0365,
                "total_shots": 1,
                "total_pass": 54,
                "accurate_pass": 47,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 5,
                "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": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0065,
                "total_shots": 0,
                "total_pass": 52,
                "accurate_pass": 50,
                "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": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0031,
                "total_shots": 0,
                "total_pass": 70,
                "accurate_pass": 62,
                "tackles": 5,
                "tackles_won": 2,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 7,
                "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": 2491,
            "combined_rank_score": 899.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 549.0,
            "sofascore_rating": 6.82,
            "sofascore_appearances": 25.0,
            "fifa_rank": 1249.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "projected_match_rating": 7.0391,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jon Martin",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Luca Tevere",
                  "ranking": 2486
                },
                {
                  "player_name": "Kyeong-jun Kim",
                  "ranking": 2487
                },
                {
                  "player_name": "Akramjon Komilov",
                  "ranking": 2488
                },
                {
                  "player_name": "Javier Nicolás Cárcamo",
                  "ranking": 2489
                },
                {
                  "player_name": "Kyeong Baek",
                  "ranking": 2490
                }
              ],
              "lower": [
                {
                  "player_name": "Sardor Abdunabiev",
                  "ranking": 2492
                },
                {
                  "player_name": "Yastin Cuevas",
                  "ranking": 2493
                },
                {
                  "player_name": "Igor Paixão",
                  "ranking": 2494
                },
                {
                  "player_name": "Carlos Espí",
                  "ranking": 2495
                },
                {
                  "player_name": "Joaquín Panichelli",
                  "ranking": 2496
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.603,
          "history_matches": 5,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.603,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0506,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 4.0,
              "minutes": 360.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.5,
              "shots_on_target_pct": 50.0,
              "prior_reliability": 0.2667
            },
            "rationale": "XGBoost regressor (D_service) evaluated 5 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Real Sociedad, rel: 0.27, 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,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7003,
                "minutes": 73,
                "total_pass": 50,
                "accurate_pass": 46,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 36,
                "accurate_own_half_passes": 35,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 58,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 17,
                "total_progression": 27,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 6.0,
                    "is_starting": false,
                    "weight": 0.2696,
                    "rating": 4.4
                  },
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2292,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1656,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1408,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 1.0,
                  "touches_p90": 64.6988,
                  "accuratePass": 43.0154,
                  "possessionLostCtrl": 3.5085,
                  "totalClearance": 2.7175,
                  "totalClearance_p90": 2.7175
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9557358622550964,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0421
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0388
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0132
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": -0.0117
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0091
                        }
                      ],
                      "others": -0.0284,
                      "total": 0.9557
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.2666174173355103,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0895
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.058
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0363
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0283
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0223
                        }
                      ],
                      "others": 0.0445,
                      "total": 1.2666
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.8020204305648804,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.1219
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.034
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0304
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0249
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0211
                        }
                      ],
                      "others": 0.0748,
                      "total": 0.802
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 4.276308536529541,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.3867
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.418
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.2076
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": 0.1978
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.1731
                        }
                      ],
                      "others": 0.2513,
                      "total": 4.2763
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.2213078737258911,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.0707
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0587
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0528
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0501
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.049
                        }
                      ],
                      "others": -0.0605,
                      "total": 1.2213
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3360869288444519,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0355
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0348
                        },
                        {
                          "name": "duelWon",
                          "contribution": -0.0216
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0197
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.019
                        }
                      ],
                      "others": -0.0591,
                      "total": 0.3361
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.700307846069336,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "accuratePass",
                          "contribution": 0.0256
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0254
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0214
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0209
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0206
                        }
                      ],
                      "others": 0.0157,
                      "total": 6.7003
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0506, quality 0.669)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 7.0391,
                "minutes": 77,
                "total_pass": 53,
                "accurate_pass": 49,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 38,
                "accurate_own_half_passes": 37,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 28,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 24000000,
                "quality_factor": 0.6685,
                "boost_factor": 1.0506
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0867)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 7.0391,
                "minutes": 77,
                "total_pass": 53,
                "accurate_pass": 49,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 38,
                "accurate_own_half_passes": 37,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 28,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.75
              },
              "params": {
                "blend_weight": 0.0867,
                "history_matches": 5,
                "prior_reliability": 0.2667,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.0867
                },
                {
                  "stat": "interceptionWon",
                  "before": 1.0041,
                  "after": 0.9387
                },
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.065
                },
                {
                  "stat": "wonTackle",
                  "before": 0.8426,
                  "after": 0.8996
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.0,
                  "after": 0.0217
                },
                {
                  "stat": "totalShots",
                  "before": 0.3531,
                  "after": 0.3658
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 7.0391,
                "minutes": 77,
                "total_pass": 53,
                "accurate_pass": 49,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 38,
                "accurate_own_half_passes": 37,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 28,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 7.0391,
                "minutes": 77,
                "total_pass": 53,
                "accurate_pass": 49,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 38,
                "accurate_own_half_passes": 37,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 28,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Hugo Duro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Hugo Duro",
                  "matchup_zone": "Shape fallback"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 7.0391,
                "minutes": 77,
                "total_pass": 53,
                "accurate_pass": 49,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 38,
                "accurate_own_half_passes": 37,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 28,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Hugo Duro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 3, fifa_overall 78.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 7.0391,
                "minutes": 77,
                "total_pass": 53,
                "accurate_pass": 49,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 38,
                "accurate_own_half_passes": 37,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 28,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Hugo Duro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 3,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2491,
                "fifa_rank": 1249.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 7.0391,
                "minutes": 77,
                "total_pass": 53,
                "accurate_pass": 49,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 38,
                "accurate_own_half_passes": 37,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 28,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Hugo Duro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.2112,
                "squad_weight_total": 10.0356,
                "weight_share": 0.021,
                "position_multiplier": 0.38
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 7.0391,
                "minutes": 77,
                "total_pass": 53,
                "accurate_pass": 49,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 38,
                "accurate_own_half_passes": 37,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 28,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Hugo Duro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0942,
                "squad_weight_total": 5.9438,
                "weight_share": 0.0158,
                "position_multiplier": 0.45
              }
            }
          ]
        },
        "Sergio Gómez": {
          "player_id": 855835,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 17,
          "height": 171,
          "market_value": 14600000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 2,
            "clearances": 3,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.7057,
            "minutes": 88,
            "total_pass": 53,
            "accurate_pass": 47,
            "duels_won": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 29,
            "accurate_own_half_passes": 26,
            "total_opp_half_passes": 24,
            "accurate_opp_half_passes": 21,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 79,
            "possession_lost": 14.1097,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 6,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0511,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 19,
            "total_progression": 50,
            "progressive_carries": 1,
            "key_pass": 1,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.2632,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 94.7,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.1,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.789,
            "opponent_faced": "Diego López",
            "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,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416332.0,
              "match_date": "2026-09-13 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Real Sociedad",
              "away_team": "Atl. Madrid",
              "home_score_current": 0.0,
              "away_score_current": 3.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Real Sociedad",
              "opponent": "Atl. Madrid",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0131,
                "total_shots": 0,
                "total_pass": 51,
                "accurate_pass": 45,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 4,
                "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": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.0146,
                "total_shots": 0,
                "total_pass": 64,
                "accurate_pass": 55,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 2,
                "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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.1283,
                "total_shots": 0,
                "total_pass": 45,
                "accurate_pass": 38,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_goals": 0.0826,
                "expected_assists": 0.0439,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 73,
                "accurate_pass": 66,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 72,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.0322,
                "expected_assists": 0.0597,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 27,
                "accurate_pass": 26,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2458,
            "combined_rank_score": 887.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 535.0,
            "sofascore_rating": 6.8286,
            "sofascore_appearances": 35.0,
            "fifa_rank": 1239.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "starter",
            "projected_match_rating": 6.7057,
            "source_file": "data/player_rankings.csv",
            "player_name": "Sergio Gómez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jorrel Hato",
                  "ranking": 2453
                },
                {
                  "player_name": "Charles Pickel",
                  "ranking": 2454
                },
                {
                  "player_name": "Nicolás Otamendi",
                  "ranking": 2455
                },
                {
                  "player_name": "Walter Scott",
                  "ranking": 2456
                },
                {
                  "player_name": "Javier Rojas",
                  "ranking": 2457
                }
              ],
              "lower": [
                {
                  "player_name": "Jaka Bijol",
                  "ranking": 2459
                },
                {
                  "player_name": "Emiliano Ramos",
                  "ranking": 2460
                },
                {
                  "player_name": "Camilo Moya",
                  "ranking": 2461
                },
                {
                  "player_name": "Ji Dong-Won",
                  "ranking": 2462
                },
                {
                  "player_name": "Jefferson Savarino",
                  "ranking": 2463
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.6,
          "history_matches": 5,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.6,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0224,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 4.0,
              "minutes": 341.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.79,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.2533
            },
            "rationale": "XGBoost regressor (D_service) evaluated 5 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Real Sociedad, rel: 0.25, 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,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.5585,
                "minutes": 86,
                "total_pass": 52,
                "accurate_pass": 46,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 20,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 77,
                "possession_lost": 13.8,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 6,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.05,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 49,
                "progressive_carries": 1,
                "key_pass": 1,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2292,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1656,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.1408,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 1.0,
                  "touches_p90": 79.8716,
                  "accuratePass": 46.7314,
                  "possessionLostCtrl": 14.5354,
                  "totalClearance": 2.6913,
                  "totalClearance_p90": 2.7265
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9123929142951965,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0375
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0221
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0199
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0195
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0155
                        }
                      ],
                      "others": -0.0377,
                      "total": 0.9124
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.720368504524231,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.138
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.1167
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.062
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0525
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0402
                        }
                      ],
                      "others": 0.0797,
                      "total": 1.7204
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.4879616498947144,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.1808
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.1328
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0902
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0828
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": -0.0562
                        }
                      ],
                      "others": 0.1901,
                      "total": 1.488
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.53346586227417,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.3836
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.3014
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.2419
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.212
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.142
                        }
                      ],
                      "others": -0.4966,
                      "total": 2.5335
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.059910535812378,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.0863
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.048
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0479
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.037
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0254
                        }
                      ],
                      "others": -0.0336,
                      "total": 1.0599
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.30832502245903015,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0329
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0318
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0248
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0218
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": -0.0187
                        }
                      ],
                      "others": -0.0815,
                      "total": 0.3083
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.558483123779297,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.087
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0352
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0264
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.024
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0153
                        }
                      ],
                      "others": 0.0309,
                      "total": 6.5585
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0224, quality 0.575)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7057,
                "minutes": 88,
                "total_pass": 53,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 79,
                "possession_lost": 14.1097,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 6,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0511,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 50,
                "progressive_carries": 1,
                "key_pass": 1,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 14600000,
                "quality_factor": 0.5748,
                "boost_factor": 1.0224
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0823)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7057,
                "minutes": 88,
                "total_pass": 53,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 79,
                "possession_lost": 14.1097,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 6,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0511,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 50,
                "progressive_carries": 1,
                "key_pass": 1,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.2632,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 94.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.79
              },
              "params": {
                "blend_weight": 0.0823,
                "history_matches": 5,
                "prior_reliability": 0.2533,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.4983
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.065
                },
                {
                  "stat": "totalShots",
                  "before": 0.3152,
                  "after": 0.3543
                },
                {
                  "stat": "wonTackle",
                  "before": 1.5214,
                  "after": 1.5045
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.9329,
                  "after": 0.9428
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7057,
                "minutes": 88,
                "total_pass": 53,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 79,
                "possession_lost": 14.1097,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 6,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0511,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 50,
                "progressive_carries": 1,
                "key_pass": 1,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.2632,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 94.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7057,
                "minutes": 88,
                "total_pass": 53,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 79,
                "possession_lost": 14.1097,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 6,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0511,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 50,
                "progressive_carries": 1,
                "key_pass": 1,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.2632,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 94.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.789,
                "opponent_faced": "Diego López",
                "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": "Diego López",
                  "matchup_zone": "RW vs LWB + CB"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7057,
                "minutes": 88,
                "total_pass": 53,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 79,
                "possession_lost": 14.1097,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 6,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0511,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 50,
                "progressive_carries": 1,
                "key_pass": 1,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.2632,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 94.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.789,
                "opponent_faced": "Diego López",
                "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": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 8, fifa_overall 78.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7057,
                "minutes": 88,
                "total_pass": 53,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 79,
                "possession_lost": 14.1097,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 6,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0511,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 50,
                "progressive_carries": 1,
                "key_pass": 1,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.2632,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 94.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.789,
                "opponent_faced": "Diego López",
                "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,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 8,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2458,
                "fifa_rank": 1239.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7057,
                "minutes": 88,
                "total_pass": 53,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 79,
                "possession_lost": 14.1097,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 6,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0511,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 50,
                "progressive_carries": 1,
                "key_pass": 1,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.2632,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 94.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.789,
                "opponent_faced": "Diego López",
                "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,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.1783,
                "squad_weight_total": 10.0356,
                "weight_share": 0.0178,
                "position_multiplier": 0.38
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7057,
                "minutes": 88,
                "total_pass": 53,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 79,
                "possession_lost": 14.1097,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 6,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0511,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 19,
                "total_progression": 50,
                "progressive_carries": 1,
                "key_pass": 1,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.2632,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 94.7,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.789,
                "opponent_faced": "Diego López",
                "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,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.3801,
                "squad_weight_total": 5.9438,
                "weight_share": 0.0639,
                "position_multiplier": 0.45
              }
            }
          ]
        },
        "Jon Aramburu": {
          "player_id": 1116388,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 2,
          "height": 176,
          "market_value": 13900000,
          "stats": {
            "interceptions": 1,
            "tackles": 3,
            "tackles_won": 2,
            "clearances": 3,
            "aerial_won": 1,
            "total_shots": 1,
            "rating": 6.7284,
            "minutes": 85,
            "total_pass": 43,
            "accurate_pass": 37,
            "duels_won": 8,
            "total_long_balls": 3,
            "accurate_long_balls": 0,
            "total_own_half_passes": 20,
            "accurate_own_half_passes": 19,
            "total_opp_half_passes": 24,
            "accurate_opp_half_passes": 19,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 69,
            "possession_lost": 13.0576,
            "dispossessed": 0.0,
            "duels_lost": 8,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 5,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0306,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 12,
            "total_progression": 67,
            "progressive_carries": 2,
            "key_pass": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.5556,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 33.3,
            "shotConversion": 0.0,
            "minutesPct": 90.6,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.1,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.4,
            "defensive_success_rate": 0.766,
            "opponent_faced": "Filip Ugrinić",
            "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,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416332.0,
              "match_date": "2026-09-13 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Real Sociedad",
              "away_team": "Atl. Madrid",
              "home_score_current": 0.0,
              "away_score_current": 3.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Real Sociedad",
              "opponent": "Atl. Madrid",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.0215,
                "expected_assists": 0.0094,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 37,
                "accurate_pass": 29,
                "key_pass": 1,
                "tackles": 5,
                "tackles_won": 3,
                "clearances": 2,
                "aerial_won": 3,
                "duels_won": 11,
                "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": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "expected_goals": 0.0179,
                "expected_assists": 0.1303,
                "total_shots": 1,
                "total_pass": 57,
                "accurate_pass": 50,
                "key_pass": 2,
                "tackles": 6,
                "tackles_won": 3,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 3,
                "duels_won": 12,
                "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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0179,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 30,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 3,
                "clearances": 5,
                "aerial_won": 2,
                "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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 57,
                "rating": 6.1,
                "assists": 0,
                "expected_goals": 0.0127,
                "expected_assists": 0.0055,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 34,
                "accurate_pass": 30,
                "interceptions": 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": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 5.9,
                "assists": 0,
                "expected_goals": 0.0243,
                "expected_assists": 0.0052,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 49,
                "accurate_pass": 43,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 6,
                "clearances": 5,
                "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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2085,
            "combined_rank_score": 793.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 16.0,
            "sofascore_rating": 8.2667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1571.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "projected_match_rating": 6.7284,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jon Aramburu",
            "ranking_neighbors": {
              "upper": [
                {
                  "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
                },
                {
                  "player_name": "Franco Rami",
                  "ranking": 2084
                }
              ],
              "lower": [
                {
                  "player_name": "Nikita Haikin",
                  "ranking": 2086
                },
                {
                  "player_name": "Santiago Mouriño",
                  "ranking": 2087
                },
                {
                  "player_name": "Mason Mount",
                  "ranking": 2088
                },
                {
                  "player_name": "Thomas Partey",
                  "ranking": 2089
                },
                {
                  "player_name": "Sukhrob Izzatov",
                  "ranking": 2090
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.599,
          "history_matches": 5,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.599,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0201,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 4.0,
              "minutes": 326.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.83,
              "shots_on_target_pct": 33.3,
              "prior_reliability": 0.24
            },
            "rationale": "XGBoost regressor (D_service) evaluated 5 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Real Sociedad, rel: 0.24, 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,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.5957,
                "minutes": 83,
                "total_pass": 43,
                "accurate_pass": 36,
                "duels_won": 8,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 19,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 18,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 68,
                "possession_lost": 12.8,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 4,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.03,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 65,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2292,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 57.0,
                    "is_starting": true,
                    "weight": 0.1656,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1408,
                    "rating": 5.9
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 1.0,
                  "touches_p90": 72.4204,
                  "accuratePass": 36.1441,
                  "possessionLostCtrl": 12.7755,
                  "totalClearance": 2.4463,
                  "totalClearance_p90": 2.4463
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.8531934022903442,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0328
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0302
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0278
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0138
                        },
                        {
                          "name": "duelWon",
                          "contribution": -0.0132
                        }
                      ],
                      "others": -0.0658,
                      "total": 0.8532
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 2.8941702842712402,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "duelLost",
                          "contribution": 0.345
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.387
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.2471
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.225
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.042
                        }
                      ],
                      "others": 0.2928,
                      "total": 2.8942
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.9606091976165771,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.1801
                        },
                        {
                          "name": "duelLost",
                          "contribution": 0.1455
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.1391
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.1551
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.1209
                        }
                      ],
                      "others": 0.3524,
                      "total": 1.9606
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.6219420433044434,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.5213
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2539
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": -0.1885
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.1623
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.1533
                        }
                      ],
                      "others": -0.3164,
                      "total": 2.6219
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.131631851196289,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.084
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0646
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0543
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0502
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0369
                        }
                      ],
                      "others": -0.0583,
                      "total": 1.1316
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.4792438745498657,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0369
                        },
                        {
                          "name": "duelWon",
                          "contribution": 0.0334
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0232
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0226
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0222
                        }
                      ],
                      "others": -0.0237,
                      "total": 0.4792
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.595677375793457,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "totalProgression",
                          "contribution": -0.0513
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0348
                        },
                        {
                          "name": "duelWon",
                          "contribution": -0.0312
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0252
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0247
                        }
                      ],
                      "others": 0.0508,
                      "total": 6.5957
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0201, quality 0.567)",
              "stats": {
                "interceptions": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.7284,
                "minutes": 85,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 8,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 19,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 69,
                "possession_lost": 13.0576,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 4,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0306,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 67,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 13900000,
                "quality_factor": 0.5671,
                "boost_factor": 1.0201
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0780)",
              "stats": {
                "interceptions": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.7284,
                "minutes": 85,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 8,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 19,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 69,
                "possession_lost": 13.0576,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 5,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0306,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 67,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 90.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "params": {
                "blend_weight": 0.078,
                "history_matches": 5,
                "prior_reliability": 0.24,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "interceptionWon",
                  "before": 0.8704,
                  "after": 1.0625
                },
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.1733
                },
                {
                  "stat": "fouls",
                  "before": 4.4885,
                  "after": 4.5284
                },
                {
                  "stat": "totalShots",
                  "before": 0.4889,
                  "after": 0.5155
                },
                {
                  "stat": "totalCross",
                  "before": 1.6322,
                  "after": 1.6566
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.0,
                  "after": 0.0218
                },
                {
                  "stat": "wonTackle",
                  "before": 2.0001,
                  "after": 2.0174
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.7284,
                "minutes": 85,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 8,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 19,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 69,
                "possession_lost": 13.0576,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 5,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0306,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 67,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 90.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.7284,
                "minutes": 85,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 8,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 19,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 69,
                "possession_lost": 13.0576,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 5,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0306,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 67,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 90.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.766,
                "opponent_faced": "Filip Ugrinić",
                "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": "Filip Ugrinić",
                  "matchup_zone": "LW vs RWB + CB"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "interceptions": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.7284,
                "minutes": 85,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 8,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 19,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 69,
                "possession_lost": 13.0576,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 5,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0306,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 67,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 90.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.766,
                "opponent_faced": "Filip Ugrinić",
                "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": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 9, fifa_overall 77.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.7284,
                "minutes": 85,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 8,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 19,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 69,
                "possession_lost": 13.0576,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 5,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0306,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 67,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 90.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.766,
                "opponent_faced": "Filip Ugrinić",
                "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,
                "fifa_overall": 77.0
              },
              "params": {
                "match_squad_rank": 9,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2085,
                "fifa_rank": 1571.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "interceptions": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.7284,
                "minutes": 85,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 8,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 19,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 69,
                "possession_lost": 13.0576,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 5,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0306,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 67,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 90.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.766,
                "opponent_faced": "Filip Ugrinić",
                "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,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.1968,
                "squad_weight_total": 10.0356,
                "weight_share": 0.0196,
                "position_multiplier": 0.38
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "interceptions": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 6.7284,
                "minutes": 85,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 8,
                "total_long_balls": 3,
                "accurate_long_balls": 0,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 19,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 69,
                "possession_lost": 13.0576,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 5,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0306,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 67,
                "progressive_carries": 2,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 90.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.766,
                "opponent_faced": "Filip Ugrinić",
                "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,
                "fifa_overall": 77.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.1149,
                "squad_weight_total": 5.9438,
                "weight_share": 0.0193,
                "position_multiplier": 0.45
              }
            }
          ]
        },
        "Hector Fort": {
          "player_id": 1402908,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 22,
          "height": 185,
          "market_value": 11600000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "total_shots": 1,
            "rating": 5.5856,
            "minutes": 9,
            "total_pass": 1,
            "accurate_pass": 1,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 1.0123,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 1,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.1,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Hugo Duro",
            "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 72.0
          },
          "latest_10_games": [
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 9,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1,
                "tackles": 1,
                "interceptions": 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"
            }
          ],
          "ranking": {
            "global_player_rank": 4463,
            "combined_rank_score": 2486.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 706.0,
            "sofascore_rating": 6.6929,
            "sofascore_appearances": 14.0,
            "fifa_rank": 4266.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "starter",
            "projected_match_rating": 5.5856,
            "source_file": "data/player_rankings.csv",
            "player_name": "Hector Fort",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Valeriy Bondar",
                  "ranking": 4458
                },
                {
                  "player_name": "Volodymyr Brazhko",
                  "ranking": 4459
                },
                {
                  "player_name": "Jhohan Romaña",
                  "ranking": 4460
                },
                {
                  "player_name": "Branco Ampuero",
                  "ranking": 4461
                },
                {
                  "player_name": "Diego Rossi",
                  "ranking": 4462
                }
              ],
              "lower": [
                {
                  "player_name": "Agustín Palavecino",
                  "ranking": 4464
                },
                {
                  "player_name": "Ben Cabango",
                  "ranking": 4465
                },
                {
                  "player_name": "Federico Pereira",
                  "ranking": 4466
                },
                {
                  "player_name": "Alex Palmer",
                  "ranking": 4467
                },
                {
                  "player_name": "Cédric Itten",
                  "ranking": 4468
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0123,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "XGBoost regressor (D_service) evaluated 1 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Real Sociedad, rel: 0.00, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 5.5176,
                "minutes": 9,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 1.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 1.0,
                  "touches_p90": 60.0,
                  "accuratePass": 1.0,
                  "possessionLostCtrl": 1.0,
                  "totalClearance": 0.0,
                  "totalClearance_p90": 0.0
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.1769766807556152,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "duelWon_p90",
                          "contribution": 0.1127
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0712
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.043
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0446
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0378
                        }
                      ],
                      "others": -0.0431,
                      "total": 1.177
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.0803734064102173,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "totalProgression",
                          "contribution": -0.177
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.1251
                        },
                        {
                          "name": "touches",
                          "contribution": -0.0622
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.049
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0384
                        }
                      ],
                      "others": -0.0734,
                      "total": 1.0804
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.7368535399436951,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "totalProgression",
                          "contribution": -0.1036
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0675
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0597
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0475
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.029
                        }
                      ],
                      "others": 0.0573,
                      "total": 0.7369
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.785752058029175,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.4537
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.3105
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.3338
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.3119
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.2348
                        }
                      ],
                      "others": -0.2613,
                      "total": 2.7858
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.1837421655654907,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0705
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0609
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0566
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0495
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.038
                        }
                      ],
                      "others": -0.0989,
                      "total": 1.1837
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.8634671568870544,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.2193
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0713
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0686
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0629
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0613
                        }
                      ],
                      "others": 0.0465,
                      "total": 0.8635
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 5.51764440536499,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "interceptionWon_p90",
                          "contribution": -0.4934
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.3496
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.2061
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.1305
                        },
                        {
                          "name": "touches",
                          "contribution": -0.1103
                        }
                      ],
                      "others": 0.1448,
                      "total": 5.5176
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0123, quality 0.541)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 5.5856,
                "minutes": 9,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 1.0123,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 11600000,
                "quality_factor": 0.5411,
                "boost_factor": 1.0123
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 5.5856,
                "minutes": 9,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 1.0123,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1
              },
              "params": {
                "blend_weight": 0.0,
                "history_matches": 1,
                "prior_reliability": 0.0,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 5.5856,
                "minutes": 9,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 1.0123,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1
              },
              "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,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 5.5856,
                "minutes": 9,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 1.0123,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Hugo Duro",
                "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": "Hugo Duro",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 5.5856,
                "minutes": 9,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 1.0123,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Hugo Duro",
                "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": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 72.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 5.5856,
                "minutes": 9,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 1.0123,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Hugo Duro",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              },
              "params": {
                "match_squad_rank": 10,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 4463,
                "fifa_rank": 4266.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 5.5856,
                "minutes": 9,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 1.0123,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Hugo Duro",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.2405,
                "squad_weight_total": 10.0356,
                "weight_share": 0.024,
                "position_multiplier": 0.38
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "total_shots": 1,
                "rating": 5.5856,
                "minutes": 9,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 1.0123,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 1,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Hugo Duro",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0443,
                "squad_weight_total": 5.9438,
                "weight_share": 0.0074,
                "position_multiplier": 0.45
              }
            }
          ]
        },
        "Jon Gorrotxategi": {
          "player_id": 1216309,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 4,
          "height": 177,
          "market_value": 27000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0551,
            "assists": 0,
            "expected_goals": 0.0767,
            "shots_on_target": 0,
            "total_shots": 2,
            "rating": 6.708,
            "minutes": 18,
            "total_pass": 8,
            "accurate_pass": 7,
            "duels_won": 4,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 0.0,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 2,
            "total_progression": 0,
            "progressive_carries": 0,
            "shots_off_target": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 8.6,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.3,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.502,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Harvey Elliott",
            "opponent_faced": "Harvey Elliott",
            "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 20,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0032,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3,
                "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": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 29,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0063,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 17,
                "clearances": 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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 1,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_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": 1369,
            "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": 2.0,
            "fifa_rank": 848.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "projected_match_rating": 6.708,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jon Gorrotxategi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Laziz Mirzaev",
                  "ranking": 1364
                },
                {
                  "player_name": "Shamar Nicholson",
                  "ranking": 1365
                },
                {
                  "player_name": "Juan Fernando Quintero",
                  "ranking": 1366
                },
                {
                  "player_name": "Ui-jun Jin",
                  "ranking": 1367
                },
                {
                  "player_name": "Diego Villares",
                  "ranking": 1368
                }
              ],
              "lower": [
                {
                  "player_name": "Vitão",
                  "ranking": 1370
                },
                {
                  "player_name": "Jemmes",
                  "ranking": 1371
                },
                {
                  "player_name": "Samandar Muratbaev",
                  "ranking": 1372
                },
                {
                  "player_name": "Kyeong-jae Kim",
                  "ranking": 1373
                },
                {
                  "player_name": "Jung-min Lee",
                  "ranking": 1374
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.441,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.441,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0582,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "minutes": 31.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.02
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Real Sociedad, rel: 0.02, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0521,
                "assists": 0,
                "expected_goals": 0.0611,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.3388,
                "minutes": 17,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 11,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 29.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.2809,
                    "rating": null
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.0,
                  "ballRecovery_p90": 2.7747,
                  "progressiveBallCarriesCount": 0.0,
                  "expectedAssists": 0.0035,
                  "ballRecovery": 0.7191
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.7614732384681702,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.076
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0705
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0696
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0493
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0247
                        }
                      ],
                      "others": -0.0585,
                      "total": 0.7615
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.05211469903588295,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0177
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0061
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0054
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0046
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0038
                        }
                      ],
                      "others": -0.0108,
                      "total": 0.0521
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06928078830242157,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.006
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0047
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0042
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0036
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0018
                        }
                      ],
                      "others": -0.006,
                      "total": 0.0693
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.06107998266816139,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0173
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0131
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0083
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0064
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0058
                        }
                      ],
                      "others": -0.0083,
                      "total": 0.0611
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.2270001322031021,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0691
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0147
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0094
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0088
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0076
                        }
                      ],
                      "others": -0.0134,
                      "total": 0.227
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.0274162292480469,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1264
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1197
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.1177
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0706
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0627
                        }
                      ],
                      "others": -0.2753,
                      "total": 1.0274
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.338787078857422,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "kilometersCovered",
                          "contribution": -0.4086
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0891
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0318
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0257
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0235
                        }
                      ],
                      "others": -0.0249,
                      "total": 6.3388
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0582, quality 0.694)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0551,
                "assists": 0,
                "expected_goals": 0.0646,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.708,
                "minutes": 18,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 27000000,
                "quality_factor": 0.6941,
                "boost_factor": 1.0582
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0081)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0551,
                "assists": 0,
                "expected_goals": 0.0646,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.708,
                "minutes": 18,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 8.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0
              },
              "params": {
                "blend_weight": 0.0081,
                "history_matches": 3,
                "prior_reliability": 0.02,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.0873,
                  "after": 1.0785
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0551,
                "assists": 0,
                "expected_goals": 0.0646,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.708,
                "minutes": 18,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 8.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "expected_assists": 0.0551,
                "assists": 0,
                "expected_goals": 0.0646,
                "shots_on_target": 0,
                "total_shots": 2,
                "rating": 6.708,
                "minutes": 18,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 8.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.502,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Harvey Elliott",
                "opponent_faced": "Harvey Elliott",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Harvey Elliott",
                  "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                  "duel_win_rate": 0.502,
                  "pressing_faced": "MEDIUM",
                  "numerical_situation": "1v1"
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.0,
                  "after": 1.0
                },
                {
                  "stat": "totalShots",
                  "before": 1.0852,
                  "after": 1.8
                }
              ]
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0551,
                "assists": 0,
                "expected_goals": 0.0767,
                "shots_on_target": 0,
                "total_shots": 2,
                "rating": 6.708,
                "minutes": 18,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 8.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.502,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Harvey Elliott",
                "opponent_faced": "Harvey Elliott",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0646,
                  "after": 0.0767
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 2, fifa_overall 79.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0551,
                "assists": 0,
                "expected_goals": 0.0767,
                "shots_on_target": 0,
                "total_shots": 2,
                "rating": 6.708,
                "minutes": 18,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 8.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.502,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Harvey Elliott",
                "opponent_faced": "Harvey Elliott",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              },
              "params": {
                "match_squad_rank": 2,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 1369,
                "fifa_rank": 848.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0551,
                "assists": 0,
                "expected_goals": 0.0767,
                "shots_on_target": 0,
                "total_shots": 2,
                "rating": 6.708,
                "minutes": 18,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 8.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.502,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Harvey Elliott",
                "opponent_faced": "Harvey Elliott",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.5198,
                "squad_weight_total": 10.0356,
                "weight_share": 0.0518,
                "position_multiplier": 0.78
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0551,
                "assists": 0,
                "expected_goals": 0.0767,
                "shots_on_target": 0,
                "total_shots": 2,
                "rating": 6.708,
                "minutes": 18,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 8.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.502,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Harvey Elliott",
                "opponent_faced": "Harvey Elliott",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 1.2199,
                "squad_weight_total": 5.9438,
                "weight_share": 0.2052,
                "position_multiplier": 1.45
              }
            }
          ]
        },
        "Takefusa Kubo": {
          "player_id": 880218,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 14,
          "height": 174,
          "market_value": 21000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0517,
            "assists": 0,
            "expected_goals": 0.0943,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 7.1956,
            "minutes": 53,
            "total_pass": 15,
            "accurate_pass": 38,
            "duels_won": 4,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 11,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 25,
            "possession_lost": 8.3379,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 9,
            "total_progression": 71,
            "progressive_carries": 3,
            "shots_off_target": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 56.4,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "opponent_faced": "Pepelu",
            "matchup_zone": "Midfield lane",
            "antagonist_source": "midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 61,
                "rating": 6.9,
                "assists": 0,
                "expected_goals": 0.4845,
                "expected_assists": 0.0393,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 25,
                "accurate_pass": 18,
                "key_pass": 1,
                "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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 12,
                "rating": 6.5,
                "assists": 0,
                "total_shots": 0,
                "total_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": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 74,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0988,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 12,
                "key_pass": 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": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 58,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.0452,
                "expected_assists": 0.0032,
                "total_shots": 1,
                "total_pass": 16,
                "accurate_pass": 12,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 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"
            }
          ],
          "ranking": {
            "global_player_rank": 1228,
            "combined_rank_score": 536.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 315.0,
            "sofascore_rating": 7.025,
            "sofascore_appearances": 24.0,
            "fifa_rank": 757.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "projected_match_rating": 7.1956,
            "source_file": "data/player_rankings.csv",
            "player_name": "Takefusa Kubo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Carlo Armiento",
                  "ranking": 1223
                },
                {
                  "player_name": "Jeyson Rojas",
                  "ranking": 1224
                },
                {
                  "player_name": "Chang-seok Lim",
                  "ranking": 1225
                },
                {
                  "player_name": "Nicola Nanni",
                  "ranking": 1226
                },
                {
                  "player_name": "Nikola Vlašić",
                  "ranking": 1227
                }
              ],
              "lower": [
                {
                  "player_name": "Trevoh Chalobah",
                  "ranking": 1229
                },
                {
                  "player_name": "Moussa Niakhaté",
                  "ranking": 1230
                },
                {
                  "player_name": "Mario Pašalić",
                  "ranking": 1231
                },
                {
                  "player_name": "Shohruh Gadoev",
                  "ranking": 1232
                },
                {
                  "player_name": "Matthieu Udol",
                  "ranking": 1233
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.523,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.523,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0422,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 3.0,
              "minutes": 203.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.89,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1533
            },
            "rationale": "XGBoost regressor (M_service) evaluated 4 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Real Sociedad, rel: 0.15, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0496,
                "assists": 0,
                "expected_goals": 0.0762,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9041,
                "minutes": 51,
                "total_pass": 14,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 8.0,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 69,
                "progressive_carries": 3,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 61.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.2667,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 74.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 58.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.5065,
                  "ballRecovery_p90": 2.1874,
                  "progressiveBallCarriesCount": 3.1567,
                  "expectedAssists": 0.0353,
                  "ballRecovery": 1.5722
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.9475983381271362,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.051
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0492
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0292
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0239
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0223
                        }
                      ],
                      "others": 0.0043,
                      "total": 0.9476
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.04962126910686493,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.02
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0072
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.007
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0057
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0051
                        }
                      ],
                      "others": -0.0127,
                      "total": 0.0496
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.07915152609348297,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.008
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0047
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.004
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": -0.0023
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0021
                        }
                      ],
                      "others": 0.0005,
                      "total": 0.0792
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.07622780650854111,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0219
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0116
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0098
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0078
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0049
                        }
                      ],
                      "others": 0.0137,
                      "total": 0.0762
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.30989181995391846,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0644
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0283
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0152
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.013
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0107
                        }
                      ],
                      "others": 0.0311,
                      "total": 0.3099
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.262422800064087,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1313
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1121
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.1069
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0951
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0624
                        }
                      ],
                      "others": -0.0412,
                      "total": 1.2624
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.904061794281006,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0291
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0189
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0185
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": 0.0183
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0161
                        }
                      ],
                      "others": 0.0414,
                      "total": 6.9041
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0422, quality 0.641)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0517,
                "assists": 0,
                "expected_goals": 0.0794,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.1956,
                "minutes": 53,
                "total_pass": 15,
                "accurate_pass": 38,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 8.3379,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 71,
                "progressive_carries": 3,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 21000000,
                "quality_factor": 0.6408,
                "boost_factor": 1.0422
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0554)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0517,
                "assists": 0,
                "expected_goals": 0.0794,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.1956,
                "minutes": 53,
                "total_pass": 15,
                "accurate_pass": 38,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 8.3379,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 71,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 56.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.89
              },
              "params": {
                "blend_weight": 0.0554,
                "history_matches": 4,
                "prior_reliability": 0.1533,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.1203
                },
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.0963
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.0722
                },
                {
                  "stat": "wonTackle",
                  "before": 0.0,
                  "after": 0.0481
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.0,
                  "after": 0.0241
                },
                {
                  "stat": "totalShots",
                  "before": 1.3157,
                  "after": 1.2921
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.323,
                  "after": 0.3051
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0517,
                "assists": 0,
                "expected_goals": 0.0794,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.1956,
                "minutes": 53,
                "total_pass": 15,
                "accurate_pass": 38,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 8.3379,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 71,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 56.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "expected_assists": 0.0517,
                "assists": 0,
                "expected_goals": 0.0794,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.1956,
                "minutes": 53,
                "total_pass": 15,
                "accurate_pass": 38,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 8.3379,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 71,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 56.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Pepelu",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Pepelu",
                  "matchup_zone": "Midfield lane"
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0517,
                "assists": 0,
                "expected_goals": 0.0943,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.1956,
                "minutes": 53,
                "total_pass": 15,
                "accurate_pass": 38,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 8.3379,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 71,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 56.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Pepelu",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0794,
                  "after": 0.0943
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 6, fifa_overall 80.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0517,
                "assists": 0,
                "expected_goals": 0.0943,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.1956,
                "minutes": 53,
                "total_pass": 15,
                "accurate_pass": 38,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 8.3379,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 71,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 56.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Pepelu",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 6,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1228,
                "fifa_rank": 757.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0517,
                "assists": 0,
                "expected_goals": 0.0943,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.1956,
                "minutes": 53,
                "total_pass": 15,
                "accurate_pass": 38,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 8.3379,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 71,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 56.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Pepelu",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.4865,
                "squad_weight_total": 10.0356,
                "weight_share": 0.0485,
                "position_multiplier": 0.78
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0517,
                "assists": 0,
                "expected_goals": 0.0943,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 7.1956,
                "minutes": 53,
                "total_pass": 15,
                "accurate_pass": 38,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 8.3379,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 71,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 56.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Pepelu",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 1.2322,
                "squad_weight_total": 5.9438,
                "weight_share": 0.2073,
                "position_multiplier": 1.45
              }
            }
          ]
        },
        "Ander Barrenetxea": {
          "player_id": 966862,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 7,
          "height": 174,
          "market_value": 17200000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0741,
            "assists": 0,
            "expected_goals": 0.0928,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.9845,
            "minutes": 56,
            "total_pass": 18,
            "accurate_pass": 14,
            "duels_won": 4,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 5,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 9,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 30,
            "possession_lost": 10.0503,
            "dispossessed": 0.0,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0241,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 10,
            "total_progression": 27,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 25.0,
            "shotConversion": 0.25,
            "minutesPct": 59.4,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.7,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.419,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Harvey Elliott",
            "opponent_faced": "Harvey Elliott",
            "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416332.0,
              "match_date": "2026-09-13 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Real Sociedad",
              "away_team": "Atl. Madrid",
              "home_score_current": 0.0,
              "away_score_current": 3.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Real Sociedad",
              "opponent": "Atl. Madrid",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 71,
                "rating": 6.9,
                "assists": 0,
                "expected_goals": 0.0924,
                "expected_assists": 0.0104,
                "total_shots": 1,
                "total_pass": 26,
                "accurate_pass": 20,
                "tackles": 1,
                "tackles_won": 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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 63,
                "rating": 7.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.1233,
                "expected_assists": 0.0122,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 15,
                "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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 24,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 8,
                "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": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 58,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0292,
                "expected_assists": 0.0355,
                "total_shots": 1,
                "total_pass": 15,
                "accurate_pass": 11,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1136,
            "combined_rank_score": 550.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 511.0,
            "sofascore_rating": 6.85,
            "sofascore_appearances": 30.0,
            "fifa_rank": 589.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "projected_match_rating": 6.9845,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ander Barrenetxea",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ousmane Diomande",
                  "ranking": 1131
                },
                {
                  "player_name": "Rui Silva",
                  "ranking": 1132
                },
                {
                  "player_name": "Abror Karimov",
                  "ranking": 1133
                },
                {
                  "player_name": "Maximiliano Guerrero",
                  "ranking": 1134
                },
                {
                  "player_name": "Agustín Urzi",
                  "ranking": 1135
                }
              ],
              "lower": [
                {
                  "player_name": "Youstin Salas",
                  "ranking": 1137
                },
                {
                  "player_name": "Jegal Jae-min",
                  "ranking": 1138
                },
                {
                  "player_name": "Jin-hyeok Kim",
                  "ranking": 1139
                },
                {
                  "player_name": "Imeda Ashortia",
                  "ranking": 1140
                },
                {
                  "player_name": "Sunnatilla Abdullazhonov",
                  "ranking": 1141
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.524,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.524,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0308,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 3.0,
              "minutes": 214.0,
              "goals_per90": 0.4166666666666667,
              "assists_per90": 0.0,
              "shots_per90": 1.68,
              "shots_on_target_pct": 25.0,
              "prior_reliability": 0.16
            },
            "rationale": "XGBoost regressor (M_service) evaluated 4 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Real Sociedad, rel: 0.16, gls/90: 0.4166666666666667, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0718,
                "assists": 0,
                "expected_goals": 0.0759,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.7758,
                "minutes": 54,
                "total_pass": 17,
                "accurate_pass": 14,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 9.75,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 26,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 24.0,
                    "is_starting": false,
                    "weight": 0.2267,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 58.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "totalShots": 1.04,
                  "ballRecovery_p90": 3.3324,
                  "progressiveBallCarriesCount": 1.3269,
                  "expectedAssists": 0.0137,
                  "ballRecovery": 2.4409
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.8680121898651123,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.068
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0499
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.0333
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0339
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0222
                        }
                      ],
                      "others": -0.128,
                      "total": 0.868
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.07183805853128433,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0157
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.009
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0059
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0042
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0036
                        }
                      ],
                      "others": -0.0141,
                      "total": 0.0718
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.07478585094213486,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.007
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0052
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0038
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0025
                        },
                        {
                          "name": "keyPass_p90",
                          "contribution": -0.0025
                        }
                      ],
                      "others": -0.0074,
                      "total": 0.0748
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.07588434964418411,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "intensity_index",
                          "contribution": -0.0157
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0073
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.006
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": -0.0054
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0052
                        }
                      ],
                      "others": -0.0036,
                      "total": 0.0759
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.2638586461544037,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0478
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.014
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0098
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0088
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0084
                        }
                      ],
                      "others": -0.0169,
                      "total": 0.2639
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.0281072854995728,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0952
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0788
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0536
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0474
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0448
                        }
                      ],
                      "others": -0.1657,
                      "total": 1.0281
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.77584171295166,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0395
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0267
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0223
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": 0.018
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0164
                        }
                      ],
                      "others": -0.0465,
                      "total": 6.7758
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0308, quality 0.603)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0741,
                "assists": 0,
                "expected_goals": 0.0782,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9845,
                "minutes": 56,
                "total_pass": 18,
                "accurate_pass": 14,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 10.0503,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 17200000,
                "quality_factor": 0.6027,
                "boost_factor": 1.0308
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0578)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0741,
                "assists": 0,
                "expected_goals": 0.0782,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9845,
                "minutes": 56,
                "total_pass": 18,
                "accurate_pass": 14,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 10.0503,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.25,
                "minutesPct": 59.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.42
              },
              "params": {
                "blend_weight": 0.0578,
                "history_matches": 4,
                "prior_reliability": 0.16,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.0963
                },
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0963
                },
                {
                  "stat": "totalCross",
                  "before": 1.5462,
                  "after": 1.6013
                },
                {
                  "stat": "totalShots",
                  "before": 1.0598,
                  "after": 1.0956
                },
                {
                  "stat": "wonTackle",
                  "before": 0.0,
                  "after": 0.0241
                },
                {
                  "stat": "goals",
                  "before": 0.0,
                  "after": 0.0241
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.272,
                  "after": 0.2806
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0741,
                "assists": 0,
                "expected_goals": 0.0782,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9845,
                "minutes": 56,
                "total_pass": 18,
                "accurate_pass": 14,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 10.0503,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.25,
                "minutesPct": 59.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "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,
                "expected_assists": 0.0741,
                "assists": 0,
                "expected_goals": 0.0782,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9845,
                "minutes": 56,
                "total_pass": 18,
                "accurate_pass": 14,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 10.0503,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.25,
                "minutesPct": 59.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.419,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Harvey Elliott",
                "opponent_faced": "Harvey Elliott",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Harvey Elliott",
                  "matchup_zone": "CDM vs CDM",
                  "duel_win_rate": 0.419,
                  "pressing_faced": "MEDIUM",
                  "numerical_situation": "1v1"
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.0,
                  "after": 0.9
                },
                {
                  "stat": "totalShots",
                  "before": 1.0956,
                  "after": 1.0683
                }
              ]
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0741,
                "assists": 0,
                "expected_goals": 0.0928,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9845,
                "minutes": 56,
                "total_pass": 18,
                "accurate_pass": 14,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 10.0503,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.25,
                "minutesPct": 59.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.419,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Harvey Elliott",
                "opponent_faced": "Harvey Elliott",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0782,
                  "after": 0.0928
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 7, fifa_overall 81.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0741,
                "assists": 0,
                "expected_goals": 0.0928,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9845,
                "minutes": 56,
                "total_pass": 18,
                "accurate_pass": 14,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 10.0503,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.25,
                "minutesPct": 59.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.419,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Harvey Elliott",
                "opponent_faced": "Harvey Elliott",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              },
              "params": {
                "match_squad_rank": 7,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 1136,
                "fifa_rank": 589.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0741,
                "assists": 0,
                "expected_goals": 0.0928,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9845,
                "minutes": 56,
                "total_pass": 18,
                "accurate_pass": 14,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 10.0503,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.25,
                "minutesPct": 59.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.419,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Harvey Elliott",
                "opponent_faced": "Harvey Elliott",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.5255,
                "squad_weight_total": 10.0356,
                "weight_share": 0.0524,
                "position_multiplier": 0.78
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0741,
                "assists": 0,
                "expected_goals": 0.0928,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9845,
                "minutes": 56,
                "total_pass": 18,
                "accurate_pass": 14,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 10.0503,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.25,
                "minutesPct": 59.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.419,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Harvey Elliott",
                "opponent_faced": "Harvey Elliott",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 1.3109,
                "squad_weight_total": 5.9438,
                "weight_share": 0.2205,
                "position_multiplier": 1.45
              }
            }
          ]
        },
        "Mikel Oyarzabal": {
          "player_id": 823622,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 10,
          "height": 181,
          "market_value": 27000000,
          "stats": {
            "expected_goals": 0.2329,
            "goal_rate": 0.1588,
            "goals": 0,
            "shots_on_target": 1,
            "total_shots": 2,
            "expected_assists": 0.0963,
            "key_pass": 1,
            "rating": 7.1292,
            "minutes": 72,
            "total_pass": 26,
            "accurate_pass": 21,
            "duels_won": 3,
            "total_long_balls": 2,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 11,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 38,
            "possession_lost": 10.794,
            "dispossessed": 0.0,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 14,
            "total_progression": 57,
            "progressive_carries": 3,
            "shots_off_target": 1,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 57.1,
            "shotConversion": 0.0,
            "minutesPct": 74.4,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.4,
            "aerial_won": 2,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.239,
            "pressing_faced": "LOW",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "César Tárrega, Justin De Haas",
            "opponent_faced": "César Tárrega, Justin De Haas",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 90.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416332.0,
              "match_date": "2026-09-13 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Real Sociedad",
              "away_team": "Atl. Madrid",
              "home_score_current": 0.0,
              "away_score_current": 3.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Real Sociedad",
              "opponent": "Atl. Madrid",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 70,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.09,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 18,
                "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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.1488,
                "expected_assists": 0.0318,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 32,
                "accurate_pass": 25,
                "key_pass": 1,
                "tackles": 1,
                "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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 89,
                "rating": 7.3,
                "assists": 2,
                "expected_goals": 0.1597,
                "expected_assists": 0.4623,
                "total_shots": 4,
                "shots_on_target": 2,
                "total_pass": 27,
                "accurate_pass": 18,
                "key_pass": 2,
                "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": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 57,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.1764,
                "expected_assists": 0.0268,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 26,
                "accurate_pass": 21,
                "key_pass": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 32,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0735,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 15,
                "key_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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 31,
            "combined_rank_score": 26.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 40.0,
            "sofascore_rating": 7.8667,
            "sofascore_appearances": 6.0,
            "fifa_rank": 13.0,
            "fifa_overall": 90.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "projected_match_rating": 7.1292,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mikel Oyarzabal",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Joshua Kimmich",
                  "ranking": 26
                },
                {
                  "player_name": "Ljupche Doriev",
                  "ranking": 27
                },
                {
                  "player_name": "Rafael Romo",
                  "ranking": 28
                },
                {
                  "player_name": "Michael Olise",
                  "ranking": 29
                },
                {
                  "player_name": "Marko Arnautović",
                  "ranking": 30
                }
              ],
              "lower": [
                {
                  "player_name": "Vitinha",
                  "ranking": 32
                },
                {
                  "player_name": "Fermín López",
                  "ranking": 33
                },
                {
                  "player_name": "Bianneider Tamayo",
                  "ranking": 34
                },
                {
                  "player_name": "Virgil van Dijk",
                  "ranking": 35
                },
                {
                  "player_name": "Remo Freuler",
                  "ranking": 36
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.593,
          "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",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.593,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0582,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 3.0,
              "minutes": 268.0,
              "goals_per90": 0.0,
              "assists_per90": 0.6666666666666666,
              "shots_per90": 2.35,
              "shots_on_target_pct": 57.1,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (F_service) evaluated 5 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Real Sociedad, rel: 0.20, gls/90: 0.0, ast/90: 0.6666666666666666)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.2533,
                "goal_rate": 0.1605,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.091,
                "key_pass": 1,
                "rating": 6.7368,
                "minutes": 68,
                "total_pass": 25,
                "accurate_pass": 19,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 36,
                "possession_lost": 10.2,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 54,
                "progressive_carries": 3,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:14.946589+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2292,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 57.0,
                    "is_starting": true,
                    "weight": 0.1656,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 32.0,
                    "is_starting": false,
                    "weight": 0.1408,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 1.0,
                  "minutesPlayed": 70.784,
                  "totalShots": 1.4032,
                  "onTargetScoringAttempt": 0.7844,
                  "touches": 36.7625,
                  "dribbleValueNormalized": 0.251
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.25330328941345215,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ],
                    "decomposition": {
                      "base": 0.2757,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0354
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0292
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0187
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": -0.0158
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0127
                        }
                      ],
                      "others": -0.0398,
                      "total": 0.2533
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.16045257449150085,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 0.3455,
                      "items": [
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0738
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0537
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0308
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0133
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": -0.01
                        }
                      ],
                      "others": -0.03,
                      "total": 0.1605
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.614918053150177,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ],
                    "decomposition": {
                      "base": 0.6329,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0321
                        },
                        {
                          "name": "topSpeed",
                          "contribution": 0.0296
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0309
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0305
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0274
                        }
                      ],
                      "others": 0.0115,
                      "total": 0.6149
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.7277183532714844,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0896
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.062
                      },
                      {
                        "name": "shotOffTarget",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0517
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0408
                      }
                    ],
                    "decomposition": {
                      "base": 1.531,
                      "items": [
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.1976
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1089
                        },
                        {
                          "name": "topSpeed",
                          "contribution": -0.1029
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0828
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0649
                        }
                      ],
                      "others": -0.0248,
                      "total": 1.7277
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.09103979170322418,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ],
                    "decomposition": {
                      "base": 0.0579,
                      "items": [
                        {
                          "name": "accuratePass",
                          "contribution": 0.0145
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0113
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0088
                        },
                        {
                          "name": "duelLost",
                          "contribution": 0.0054
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0037
                        }
                      ],
                      "others": 0.012,
                      "total": 0.091
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.9839156270027161,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ],
                    "decomposition": {
                      "base": 0.6829,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1096
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.1115
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0758
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0745
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0459
                        }
                      ],
                      "others": 0.0353,
                      "total": 0.9839
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.736846923828125,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ],
                    "decomposition": {
                      "base": 6.7136,
                      "items": [
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0577
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0551
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0429
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": -0.0296
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0277
                        }
                      ],
                      "others": 0.1208,
                      "total": 6.7368
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0582, quality 0.694)",
              "stats": {
                "expected_goals": 0.2681,
                "goal_rate": 0.1698,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0963,
                "key_pass": 1,
                "rating": 7.1292,
                "minutes": 72,
                "total_pass": 26,
                "accurate_pass": 21,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 10.794,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 57,
                "progressive_carries": 3,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 27000000,
                "quality_factor": 0.6941,
                "boost_factor": 1.0582
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0650)",
              "stats": {
                "expected_goals": 0.2681,
                "goal_rate": 0.1588,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0963,
                "key_pass": 1,
                "rating": 7.1292,
                "minutes": 72,
                "total_pass": 26,
                "accurate_pass": 21,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 10.794,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 57,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 57.1,
                "shotConversion": 0.0,
                "minutesPct": 74.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "params": {
                "blend_weight": 0.065,
                "history_matches": 5,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.1517
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.6507,
                  "after": 0.6955
                },
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.0433
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.0433
                },
                {
                  "stat": "totalShots",
                  "before": 1.8283,
                  "after": 1.8622
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.0,
                  "after": 0.0217
                },
                {
                  "stat": "goalAssist",
                  "before": 0.4233,
                  "after": 0.4391
                },
                {
                  "stat": "goals",
                  "before": 0.1698,
                  "after": 0.1588
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.2681,
                "goal_rate": 0.1588,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0963,
                "key_pass": 1,
                "rating": 7.1292,
                "minutes": 72,
                "total_pass": 26,
                "accurate_pass": 21,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 10.794,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 57,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 57.1,
                "shotConversion": 0.0,
                "minutesPct": 74.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              },
              "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.1962,
                "goal_rate": 0.1588,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0963,
                "key_pass": 1,
                "rating": 7.1292,
                "minutes": 72,
                "total_pass": 26,
                "accurate_pass": 21,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 10.794,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 57,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 57.1,
                "shotConversion": 0.0,
                "minutesPct": 74.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "César Tárrega, Justin De Haas",
                "opponent_faced": "César Tárrega, Justin De Haas",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "César Tárrega, Justin De Haas",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.239,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2",
                  "xg_override": 0.1962
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.8731,
                  "after": 2.3
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.2681,
                  "after": 0.1962
                }
              ]
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "expected_goals": 0.2329,
                "goal_rate": 0.1588,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0963,
                "key_pass": 1,
                "rating": 7.1292,
                "minutes": 72,
                "total_pass": 26,
                "accurate_pass": 21,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 10.794,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 57,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 57.1,
                "shotConversion": 0.0,
                "minutesPct": 74.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "César Tárrega, Justin De Haas",
                "opponent_faced": "César Tárrega, Justin De Haas",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1962,
                  "after": 0.2329
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 1, fifa_overall 90.0)",
              "stats": {
                "expected_goals": 0.2329,
                "goal_rate": 0.1588,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0963,
                "key_pass": 1,
                "rating": 7.1292,
                "minutes": 72,
                "total_pass": 26,
                "accurate_pass": 21,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 10.794,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 57,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 57.1,
                "shotConversion": 0.0,
                "minutesPct": 74.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "César Tárrega, Justin De Haas",
                "opponent_faced": "César Tárrega, Justin De Haas",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 90.0
              },
              "params": {
                "match_squad_rank": 1,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 31,
                "fifa_rank": 13.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 90.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "expected_goals": 0.2329,
                "goal_rate": 0.1588,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0963,
                "key_pass": 1,
                "rating": 7.1292,
                "minutes": 72,
                "total_pass": 26,
                "accurate_pass": 21,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 10.794,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 57,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 57.1,
                "shotConversion": 0.0,
                "minutesPct": 74.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "César Tárrega, Justin De Haas",
                "opponent_faced": "César Tárrega, Justin De Haas",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 90.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 2.8316,
                "squad_weight_total": 10.0356,
                "weight_share": 0.2822,
                "position_multiplier": 1.45
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "expected_goals": 0.2329,
                "goal_rate": 0.1588,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0963,
                "key_pass": 1,
                "rating": 7.1292,
                "minutes": 72,
                "total_pass": 26,
                "accurate_pass": 21,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 10.794,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 57,
                "progressive_carries": 3,
                "shots_off_target": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 57.1,
                "shotConversion": 0.0,
                "minutesPct": 74.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "César Tárrega, Justin De Haas",
                "opponent_faced": "César Tárrega, Justin De Haas",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 90.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.8601,
                "squad_weight_total": 5.9438,
                "weight_share": 0.1447,
                "position_multiplier": 0.85
              }
            }
          ]
        },
        "Orri Óskarsson": {
          "player_id": 1026015,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 9,
          "height": 186,
          "market_value": 21000000,
          "stats": {
            "expected_goals": 0.2861,
            "goal_rate": 0.4443,
            "goals": 0,
            "shots_on_target": 1,
            "total_shots": 2,
            "expected_assists": 0.0278,
            "key_pass": 1,
            "rating": 7.2766,
            "minutes": 71,
            "total_pass": 13,
            "accurate_pass": 8,
            "duels_won": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 9,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 23,
            "possession_lost": 8.5984,
            "dispossessed": 0.0,
            "duels_lost": 5,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 5,
            "total_progression": 11,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "opponent_faced": "Arnau Martínez, César Tárrega",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416332.0,
              "match_date": "2026-09-13 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Real Sociedad",
              "away_team": "Atl. Madrid",
              "home_score_current": 0.0,
              "away_score_current": 3.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Real Sociedad",
              "opponent": "Atl. Madrid",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 71,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0249,
                "expected_assists": 0.0287,
                "total_shots": 1,
                "total_pass": 10,
                "accurate_pass": 6,
                "key_pass": 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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 78,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 1.0278,
                "expected_assists": 0.0284,
                "total_shots": 4,
                "shots_on_target": 3,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 12,
                "clearances": 1,
                "aerial_won": 3,
                "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": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 33,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.1318,
                "expected_assists": 0.002,
                "total_shots": 1,
                "total_pass": 10,
                "accurate_pass": 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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.9801,
                "expected_assists": 0.0082,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 6,
                "key_pass": 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": 3712,
            "combined_rank_score": 1678.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 447.0,
            "sofascore_rating": 6.8947,
            "sofascore_appearances": 20.0,
            "fifa_rank": 2909.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "projected_match_rating": 7.2766,
            "source_file": "data/player_rankings.csv",
            "player_name": "Orri Óskarsson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ernest Muçi",
                  "ranking": 3707
                },
                {
                  "player_name": "Gabriel Suazo",
                  "ranking": 3708
                },
                {
                  "player_name": "İrfan Can Kahveci",
                  "ranking": 3709
                },
                {
                  "player_name": "Lucas Beltrán",
                  "ranking": 3710
                },
                {
                  "player_name": "Niclas Eliasson",
                  "ranking": 3711
                }
              ],
              "lower": [
                {
                  "player_name": "Santiago Núñez",
                  "ranking": 3713
                },
                {
                  "player_name": "Viktor Johansson",
                  "ranking": 3714
                },
                {
                  "player_name": "Isaac Romero",
                  "ranking": 3715
                },
                {
                  "player_name": "Roman Yaremchuk",
                  "ranking": 3716
                },
                {
                  "player_name": "Joe Gelhardt",
                  "ranking": 3717
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.5,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.5,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0422,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (F_service) evaluated 4 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.2313,
                "goal_rate": 0.4263,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0267,
                "key_pass": 1,
                "rating": 6.9818,
                "minutes": 68,
                "total_pass": 12,
                "accurate_pass": 8,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 22,
                "possession_lost": 8.25,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 10,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:14.946589+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 78.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 33.0,
                    "is_starting": false,
                    "weight": 0.2267,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.2
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "minutesPlayed": 67.9132,
                  "totalShots": 2.1857,
                  "onTargetScoringAttempt": 0.9929,
                  "touches": 21.9228,
                  "dribbleValueNormalized": 0.1861
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.23126573860645294,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ],
                    "decomposition": {
                      "base": 0.2757,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0339
                        },
                        {
                          "name": "aerial_dominance",
                          "contribution": -0.0271
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0258
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0208
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0183
                        }
                      ],
                      "others": -0.0795,
                      "total": 0.2313
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.4263097047805786,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 0.3455,
                      "items": [
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.1203
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0829
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0346
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0223
                        },
                        {
                          "name": "duelLost",
                          "contribution": 0.0232
                        }
                      ],
                      "others": 0.0325,
                      "total": 0.4263
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.8542174696922302,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ],
                    "decomposition": {
                      "base": 0.6329,
                      "items": [
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0784
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0588
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0502
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0282
                        },
                        {
                          "name": "topSpeed",
                          "contribution": 0.0236
                        }
                      ],
                      "others": 0.0385,
                      "total": 0.8542
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.7680890560150146,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0896
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.062
                      },
                      {
                        "name": "shotOffTarget",
                        "importance": 0.0522
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0517
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0408
                      }
                    ],
                    "decomposition": {
                      "base": 1.531,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2818
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.1199
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.116
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.1141
                        },
                        {
                          "name": "topSpeed",
                          "contribution": -0.0615
                        }
                      ],
                      "others": -0.1012,
                      "total": 1.7681
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.02666892111301422,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ],
                    "decomposition": {
                      "base": 0.0579,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0081
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0058
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0035
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0029
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0026
                        }
                      ],
                      "others": -0.0083,
                      "total": 0.0267
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.6880384087562561,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ],
                    "decomposition": {
                      "base": 0.6829,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0923
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0697
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0496
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0326
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0281
                        }
                      ],
                      "others": -0.0286,
                      "total": 0.688
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.981779098510742,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ],
                    "decomposition": {
                      "base": 6.7136,
                      "items": [
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.1307
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0454
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0386
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0337
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0314
                        }
                      ],
                      "others": 0.133,
                      "total": 6.9818
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0422, quality 0.641)",
              "stats": {
                "expected_goals": 0.241,
                "goal_rate": 0.4443,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0278,
                "key_pass": 1,
                "rating": 7.2766,
                "minutes": 71,
                "total_pass": 13,
                "accurate_pass": 8,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 8.5984,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 21000000,
                "quality_factor": 0.6408,
                "boost_factor": 1.0422
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.241,
                "goal_rate": 0.4443,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0278,
                "key_pass": 1,
                "rating": 7.2766,
                "minutes": 71,
                "total_pass": 13,
                "accurate_pass": 8,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 8.5984,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "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.241,
                "goal_rate": 0.4443,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0278,
                "key_pass": 1,
                "rating": 7.2766,
                "minutes": 71,
                "total_pass": 13,
                "accurate_pass": 8,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 8.5984,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "opponent_faced": "Arnau Martínez, César Tárrega",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Arnau Martínez, César Tárrega",
                  "matchup_zone": "Shape fallback",
                  "xg_override": 0.241
                }
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "expected_goals": 0.2861,
                "goal_rate": 0.4443,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0278,
                "key_pass": 1,
                "rating": 7.2766,
                "minutes": 71,
                "total_pass": 13,
                "accurate_pass": 8,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 8.5984,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "opponent_faced": "Arnau Martínez, César Tárrega",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.241,
                  "after": 0.2861
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 5, fifa_overall 74.0)",
              "stats": {
                "expected_goals": 0.2861,
                "goal_rate": 0.4443,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0278,
                "key_pass": 1,
                "rating": 7.2766,
                "minutes": 71,
                "total_pass": 13,
                "accurate_pass": 8,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 8.5984,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "opponent_faced": "Arnau Martínez, César Tárrega",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              },
              "params": {
                "match_squad_rank": 5,
                "squad_role": "starter",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3712,
                "fifa_rank": 2909.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation skipped: 0 projected goals",
              "stats": {
                "expected_goals": 0.2861,
                "goal_rate": 0.4443,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0278,
                "key_pass": 1,
                "rating": 7.2766,
                "minutes": 71,
                "total_pass": 13,
                "accurate_pass": 8,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 8.5984,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "opponent_faced": "Arnau Martínez, César Tárrega",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": false,
                "team_goals": 0,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 4.1872,
                "squad_weight_total": 10.0356,
                "weight_share": 0.4172,
                "position_multiplier": 1.45
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation skipped: 0 projected assists",
              "stats": {
                "expected_goals": 0.2861,
                "goal_rate": 0.4443,
                "goals": 0,
                "shots_on_target": 1,
                "total_shots": 2,
                "expected_assists": 0.0278,
                "key_pass": 1,
                "rating": 7.2766,
                "minutes": 71,
                "total_pass": 13,
                "accurate_pass": 8,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 8.5984,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "assists": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "opponent_faced": "Arnau Martínez, César Tárrega",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": false,
                "team_assists": 0,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.6196,
                "squad_weight_total": 5.9438,
                "weight_share": 0.1042,
                "position_multiplier": 0.85
              }
            }
          ]
        }
      },
      "bench_players": {
        "Unai Marrero": {
          "player_id": 1094782,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 13,
          "height": 187,
          "market_value": 1100000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.0056,
            "rating": 7.0006,
            "minutes": 4,
            "total_pass": 2,
            "accurate_pass": 1,
            "duels_won": 0,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "touches": 3,
            "clearances": 0,
            "ball_recovery": 1,
            "high_claims": 0,
            "punches": 0.0958,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.5746,
            "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.397,
            "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": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 8.7,
                "assists": 0,
                "expected_assists": 0.0029,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 26,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 11,
                "saves": 8,
                "goals_prevented": -0.0376
              },
              "has_player_stats": true,
              "league_name": "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": 3493,
            "combined_rank_score": 1479.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 52.0,
            "sofascore_rating": 7.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 2906.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "projected_match_rating": 7.0006,
            "source_file": "data/player_rankings.csv",
            "player_name": "Unai Marrero",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Tyrhys Dolan",
                  "ranking": 3488
                },
                {
                  "player_name": "Yann Gboho",
                  "ranking": 3489
                },
                {
                  "player_name": "Ansu Fati",
                  "ranking": 3490
                },
                {
                  "player_name": "Marcus Edwards",
                  "ranking": 3491
                },
                {
                  "player_name": "Ismaël Doukouré",
                  "ranking": 3492
                }
              ],
              "lower": [
                {
                  "player_name": "Ilan Kebbal",
                  "ranking": 3494
                },
                {
                  "player_name": "Mousa Al Tamari",
                  "ranking": 3495
                },
                {
                  "player_name": "Baptiste Santamaria",
                  "ranking": 3496
                },
                {
                  "player_name": "Quentin Merlin",
                  "ranking": 3497
                },
                {
                  "player_name": "Eddie Nketiah",
                  "ranking": 3498
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "G_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "accurateLongBalls",
              "totalOwnHalfPasses",
              "accurateOwnHalfPasses",
              "saves",
              "savedShotsFromInsideTheBox",
              "goodHighClaim",
              "punches",
              "aerialWon",
              "totalKeeperSweeper",
              "accurateKeeperSweeper",
              "totalClearance",
              "ballRecovery",
              "touches",
              "possessionLostCtrl",
              "kilometersCovered",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "gk_coverage",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 4.392222187561249,
            "bench_appearance_prob": 0.10873737216187492,
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "sub_appearances": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection scaled from XGBoost G_service (1 historical appearances) to 4.4 expected mins (appearance prob 0.11); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.117,
                "rating": 7.1345,
                "minutes": 90,
                "total_pass": 37,
                "accurate_pass": 26,
                "duels_won": 1,
                "total_long_balls": 27,
                "accurate_long_balls": 16,
                "touches": 53,
                "clearances": 2,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 2.0,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 12.0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 19,
                "accurate_own_half_passes": 18
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:40.064367+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 113,
                    "rows": 393
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 1.0,
                    "rating": 8.7
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "sweeper_actions_p90": 0.0,
                  "touches": 53.0,
                  "totalOwnHalfPasses": 19.0,
                  "punches": 2.0,
                  "distribution_accuracy": 0.9474,
                  "accurateKeeperSweeper": 0.0
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.6613495349884033,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0587
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0534
                      },
                      {
                        "name": "touches",
                        "importance": 0.0497
                      },
                      {
                        "name": "totalOwnHalfPasses",
                        "importance": 0.049
                      },
                      {
                        "name": "distribution_accuracy",
                        "importance": 0.043
                      }
                    ],
                    "decomposition": {
                      "base": 2.9806,
                      "items": [
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": -0.1051
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0757
                        },
                        {
                          "name": "totalOwnHalfPasses",
                          "contribution": -0.0599
                        },
                        {
                          "name": "commanding_index",
                          "contribution": -0.0533
                        },
                        {
                          "name": "punches",
                          "contribution": -0.0511
                        }
                      ],
                      "others": -0.1256,
                      "total": 2.6613
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": 0.1170487329363823,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.053
                      },
                      {
                        "name": "punches",
                        "importance": 0.051
                      },
                      {
                        "name": "touches",
                        "importance": 0.0482
                      },
                      {
                        "name": "accurateLongBalls",
                        "importance": 0.0468
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0432
                      }
                    ],
                    "decomposition": {
                      "base": -0.0536,
                      "items": [
                        {
                          "name": "punches",
                          "contribution": -0.1537
                        },
                        {
                          "name": "commanding_index",
                          "contribution": 0.1362
                        },
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": -0.0494
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0366
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0251
                        }
                      ],
                      "others": 0.1758,
                      "total": 0.117
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.134548187255859,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0593
                      },
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "distribution_accuracy",
                        "importance": 0.0484
                      },
                      {
                        "name": "savedShotsFromInsideTheBox",
                        "importance": 0.0468
                      },
                      {
                        "name": "punches",
                        "importance": 0.0464
                      }
                    ],
                    "decomposition": {
                      "base": 7.0716,
                      "items": [
                        {
                          "name": "punches",
                          "contribution": -0.0883
                        },
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": -0.0741
                        },
                        {
                          "name": "commanding_index",
                          "contribution": 0.0567
                        },
                        {
                          "name": "inside_box_save_rate",
                          "contribution": 0.037
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0315
                        }
                      ],
                      "others": 0.1002,
                      "total": 7.1346
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.1149,
                "rating": 7.0006,
                "minutes": 88,
                "total_pass": 36,
                "accurate_pass": 26,
                "duels_won": 1,
                "total_long_balls": 26,
                "accurate_long_balls": 16,
                "touches": 52,
                "clearances": 2,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 1.9625,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 11.7747,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 19,
                "accurate_own_half_passes": 18
              },
              "params": {
                "market_value_eur": 1100000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9812
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.1149,
                "rating": 7.0006,
                "minutes": 88,
                "total_pass": 36,
                "accurate_pass": 26,
                "duels_won": 1,
                "total_long_balls": 26,
                "accurate_long_balls": 16,
                "touches": 52,
                "clearances": 2,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 1.9625,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 11.7747,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 19,
                "accurate_own_half_passes": 18
              },
              "params": {
                "blend_weight": 0.0,
                "history_matches": 1,
                "prior_reliability": 0.0,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.0056,
                "rating": 7.0006,
                "minutes": 4,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 0,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "touches": 3,
                "clearances": 0,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.0958,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.5746,
                "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
              },
              "params": {
                "expected_minutes": 4.39,
                "appearance_probability": 0.109
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.0056,
                "rating": 7.0006,
                "minutes": 4,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 0,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "touches": 3,
                "clearances": 0,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.0958,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.5746,
                "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
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 18, fifa_overall 74.0)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.0056,
                "rating": 7.0006,
                "minutes": 4,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 0,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "touches": 3,
                "clearances": 0,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.0958,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.5746,
                "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.397,
                "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": 74.0
              },
              "params": {
                "match_squad_rank": 18,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3493,
                "fifa_rank": 2906.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 74.0
              }
            }
          ]
        },
        "Igor Zubeldia": {
          "player_id": 838159,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 5,
          "height": 180,
          "market_value": 6300000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.3501,
            "minutes": 25,
            "total_pass": 13,
            "accurate_pass": 11,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 8,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 4,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 16,
            "possession_lost": 2.0872,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 2,
            "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,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0027,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 5,
            "total_progression": 12,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.5882,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 84.4,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.316,
            "bench_expected_minutes": 24.88,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.397,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 23,
                "tackles": 4,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 7,
                "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": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.0125,
                "total_shots": 0,
                "total_pass": 56,
                "accurate_pass": 52,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 4,
                "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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0483,
                "total_shots": 0,
                "total_pass": 52,
                "accurate_pass": 41,
                "key_pass": 1,
                "tackles": 3,
                "interceptions": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 33,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0038,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 17,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.007,
                "total_shots": 0,
                "total_pass": 75,
                "accurate_pass": 65,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 3,
                "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": 1740,
            "combined_rank_score": 696.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 4.0,
            "fifa_rank": 694.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "projected_match_rating": 6.3501,
            "source_file": "data/player_rankings.csv",
            "player_name": "Igor Zubeldia",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nicko Sensoli",
                  "ranking": 1735
                },
                {
                  "player_name": "Giorgos Masouras",
                  "ranking": 1736
                },
                {
                  "player_name": "Ramiro González",
                  "ranking": 1737
                },
                {
                  "player_name": "Ho-yeong Seong",
                  "ranking": 1738
                },
                {
                  "player_name": "Bekzod Sulaymonov",
                  "ranking": 1739
                }
              ],
              "lower": [
                {
                  "player_name": "Muhriddin  Pazildinov",
                  "ranking": 1741
                },
                {
                  "player_name": "Vicente Vega",
                  "ranking": 1742
                },
                {
                  "player_name": "Enes Mahmutović",
                  "ranking": 1743
                },
                {
                  "player_name": "Ľubomír Šatka",
                  "ranking": 1744
                },
                {
                  "player_name": "Myeong-heui Choi",
                  "ranking": 1745
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.597,
          "history_matches": 5,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.597,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 24.88,
            "bench_appearance_prob": 0.316,
            "market_value_adjustment": 0.9934,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 3.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 34.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.2267
            },
            "rationale": "Bench projection scaled from XGBoost D_service (5 historical appearances) to 24.9 expected mins (appearance prob 0.32); FBref playing time empirical prior: 1.0 sub appearances, 34.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.3921,
                "minutes": 79,
                "total_pass": 46,
                "accurate_pass": 40,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 58,
                "possession_lost": 7.6,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 17,
                "total_progression": 42,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2292,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 33.0,
                    "is_starting": false,
                    "weight": 0.1656,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1408,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 0.0,
                  "touches_p90": 65.8267,
                  "accuratePass": 38.0715,
                  "possessionLostCtrl": 7.516,
                  "totalClearance": 3.6951,
                  "totalClearance_p90": 3.9811
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.7172348499298096,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2338
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0199
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0202
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0207
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0104
                        }
                      ],
                      "others": -0.0102,
                      "total": 0.7172
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.4656660556793213,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "defensive_actions",
                          "contribution": 0.1709
                        },
                        {
                          "name": "duelLost",
                          "contribution": -0.0911
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0794
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0535
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0501
                        }
                      ],
                      "others": 0.1066,
                      "total": 1.4657
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.7025015950202942,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1642
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0703
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0543
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0483
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0302
                        }
                      ],
                      "others": 0.0013,
                      "total": 0.7025
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.7115861177444458,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -1.8678
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.1215
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.121
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0444
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": -0.0347
                        }
                      ],
                      "others": -0.076,
                      "total": 1.7116
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.7566846609115601,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3222
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.048
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0364
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0137
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0117
                        }
                      ],
                      "others": -0.0534,
                      "total": 0.7567
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.2603779137134552,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1972
                        },
                        {
                          "name": "duelWon",
                          "contribution": 0.0678
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0255
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0236
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0149
                        }
                      ],
                      "others": -0.0322,
                      "total": 0.2604
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.392111301422119,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "aerial_dominance",
                          "contribution": -0.0734
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.073
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0377
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0305
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0258
                        }
                      ],
                      "others": -0.0818,
                      "total": 6.3921
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9934, quality 0.478)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.3501,
                "minutes": 78,
                "total_pass": 46,
                "accurate_pass": 39,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 7.5501,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 42,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 6300000,
                "quality_factor": 0.4781,
                "boost_factor": 0.9934
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0737)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.3501,
                "minutes": 78,
                "total_pass": 46,
                "accurate_pass": 39,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 7.5501,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 42,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.89
              },
              "params": {
                "blend_weight": 0.0737,
                "history_matches": 5,
                "prior_reliability": 0.2267,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.065
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.7125,
                  "after": 0.7684
                },
                {
                  "stat": "wonTackle",
                  "before": 0.6979,
                  "after": 0.7332
                },
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0217
                },
                {
                  "stat": "totalShots",
                  "before": 0.2587,
                  "after": 0.2396
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 24.9 expected minutes (appearance prob 0.32)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 6.3501,
                "minutes": 25,
                "total_pass": 13,
                "accurate_pass": 11,
                "duels_won": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 2.0872,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 2,
                "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,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0027,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 12,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.316,
                "bench_expected_minutes": 24.88
              },
              "params": {
                "expected_minutes": 24.88,
                "appearance_probability": 0.316
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 6.3501,
                "minutes": 25,
                "total_pass": 13,
                "accurate_pass": 11,
                "duels_won": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 2.0872,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 2,
                "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,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0027,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 12,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.316,
                "bench_expected_minutes": 24.88
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 15, fifa_overall 80.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 6.3501,
                "minutes": 25,
                "total_pass": 13,
                "accurate_pass": 11,
                "duels_won": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 2.0872,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 2,
                "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,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0027,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 12,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.316,
                "bench_expected_minutes": 24.88,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 15,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 1740,
                "fifa_rank": 694.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 80.0
              }
            }
          ]
        },
        "Jon Pacheco": {
          "player_id": 934383,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 16,
          "height": 184,
          "market_value": 5200000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 5.9724,
            "minutes": 14,
            "total_pass": 0,
            "accurate_pass": 0,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 1,
            "possession_lost": 0.0,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 0,
            "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": 3,
            "projected_substitution_expected_count": 2.397,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 20,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 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"
            }
          ],
          "ranking": {
            "global_player_rank": 1489,
            "combined_rank_score": 756.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 616.0,
            "sofascore_rating": 6.7727,
            "sofascore_appearances": 22.0,
            "fifa_rank": 896.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "projected_match_rating": 5.9724,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jon Pacheco",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Farkhod Sokhibzhonov",
                  "ranking": 1484
                },
                {
                  "player_name": "Florian Lejeune",
                  "ranking": 1485
                },
                {
                  "player_name": "Dimitrios Valkanis",
                  "ranking": 1486
                },
                {
                  "player_name": "Patrick Dorgu",
                  "ranking": 1487
                },
                {
                  "player_name": "Quinten Timber",
                  "ranking": 1488
                }
              ],
              "lower": [
                {
                  "player_name": "Brahim Díaz",
                  "ranking": 1490
                },
                {
                  "player_name": "Lucas Assadi",
                  "ranking": 1491
                },
                {
                  "player_name": "Bryan Cristante",
                  "ranking": 1492
                },
                {
                  "player_name": "Lucas Hernández",
                  "ranking": 1493
                },
                {
                  "player_name": "Yerco Oyanedel",
                  "ranking": 1494
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 13.679959715539995,
            "bench_appearance_prob": 0.30363453252454525,
            "market_value_adjustment": 0.9894,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "sub_appearances": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection scaled from XGBoost D_service (1 historical appearances) to 13.7 expected mins (appearance prob 0.30); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 6.0365,
                "minutes": 20,
                "total_pass": 3,
                "accurate_pass": 3,
                "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": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 8,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:03.814313+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "touches_p90": 36.0,
                  "accuratePass": 3.0,
                  "possessionLostCtrl": 0.0,
                  "totalClearance": 3.0,
                  "totalClearance_p90": 13.5
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.6053155660629272,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ],
                    "decomposition": {
                      "base": 0.9108,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.239
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0356
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0245
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": 0.016
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0149
                        }
                      ],
                      "others": -0.0863,
                      "total": 0.6053
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.1153976917266846,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ],
                    "decomposition": {
                      "base": 1.3553,
                      "items": [
                        {
                          "name": "totalProgression",
                          "contribution": -0.1156
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0884
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0861
                        },
                        {
                          "name": "touches",
                          "contribution": -0.0577
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0366
                        }
                      ],
                      "others": -0.0277,
                      "total": 1.1154
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.5188367962837219,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ],
                    "decomposition": {
                      "base": 0.8675,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2077
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0871
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": 0.0811
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": -0.0304
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0276
                        }
                      ],
                      "others": -0.077,
                      "total": 0.5188
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.1789910793304443,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 3.4032,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.0209
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.1112
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.1061
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.1004
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0855
                        }
                      ],
                      "others": -0.0123,
                      "total": 1.179
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.8158097267150879,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ],
                    "decomposition": {
                      "base": 1.2421,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3487
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0349
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": 0.0347
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0277
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0256
                        }
                      ],
                      "others": -0.0241,
                      "total": 0.8158
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.2853737771511078,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0413
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0408
                      },
                      {
                        "name": "touches_p90",
                        "importance": 0.0371
                      },
                      {
                        "name": "duelWon",
                        "importance": 0.0364
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0352
                      }
                    ],
                    "decomposition": {
                      "base": 0.4562,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2973
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.142
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0544
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": 0.0528
                        },
                        {
                          "name": "wonTackle",
                          "contribution": 0.0223
                        }
                      ],
                      "others": -0.0362,
                      "total": 0.2854
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.036466598510742,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ],
                    "decomposition": {
                      "base": 6.6627,
                      "items": [
                        {
                          "name": "accuratePass",
                          "contribution": -0.477
                        },
                        {
                          "name": "touches",
                          "contribution": -0.1438
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.1419
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.1401
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0695
                        }
                      ],
                      "others": 0.0659,
                      "total": 6.0365
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9894, quality 0.465)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 5.9724,
                "minutes": 20,
                "total_pass": 3,
                "accurate_pass": 3,
                "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": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 8,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 5200000,
                "quality_factor": 0.4646,
                "boost_factor": 0.9894
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "total_shots": 0,
                "rating": 5.9724,
                "minutes": 20,
                "total_pass": 3,
                "accurate_pass": 3,
                "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": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 8,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0
              },
              "params": {
                "blend_weight": 0.0,
                "history_matches": 1,
                "prior_reliability": 0.0,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 13.7 expected minutes (appearance prob 0.30)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 5.9724,
                "minutes": 14,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "bench_appearance_probability": 0.304,
                "bench_expected_minutes": 13.68
              },
              "params": {
                "expected_minutes": 13.68,
                "appearance_probability": 0.304
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 5.9724,
                "minutes": 14,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "shots_off_target": 0,
                "bench_appearance_probability": 0.304,
                "bench_expected_minutes": 13.68
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 16, fifa_overall 79.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "total_shots": 0,
                "rating": 5.9724,
                "minutes": 14,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "shots_on_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "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": 3,
                "projected_substitution_expected_count": 2.397,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              },
              "params": {
                "match_squad_rank": 16,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 1489,
                "fifa_rank": 896.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "Luka Sučić": {
          "player_id": 949156,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 24,
          "height": 185,
          "market_value": 10900000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0213,
            "assists": 0,
            "expected_goals": 0.0325,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.8047,
            "minutes": 27,
            "total_pass": 10,
            "accurate_pass": 9,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 13,
            "possession_lost": 2.2054,
            "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,
            "goal_rate": 0.0064,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 5,
            "total_progression": 11,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.3226,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 28.6,
            "shotConversion": 0.14,
            "minutesPct": 78.6,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.411,
            "bench_expected_minutes": 26.56,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.397,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 8.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.2155,
                "expected_assists": 0.0665,
                "total_shots": 4,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 29,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 2,
                "aerial_won": 2,
                "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": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 29,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0365,
                "expected_assists": 0.0377,
                "total_shots": 2,
                "total_pass": 16,
                "accurate_pass": 13,
                "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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 78,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0458,
                "expected_assists": 0.0199,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 27,
                "accurate_pass": 22,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "aerial_won": 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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.1179,
                "expected_assists": 0.1689,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 56,
                "accurate_pass": 55,
                "key_pass": 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": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 87,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.25,
                "expected_assists": 0.0084,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 32,
                "accurate_pass": 29,
                "key_pass": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3134,
            "combined_rank_score": 1102.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 229.0,
            "sofascore_rating": 7.15,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1975.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 6.8047,
            "source_file": "data/player_rankings.csv",
            "player_name": "Luka Sučić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lawrence Shankland",
                  "ranking": 3129
                },
                {
                  "player_name": "Cameron Carter-Vickers",
                  "ranking": 3130
                },
                {
                  "player_name": "Patrick Wimmer",
                  "ranking": 3131
                },
                {
                  "player_name": "Thomas Lemar",
                  "ranking": 3132
                },
                {
                  "player_name": "Robert Navarro",
                  "ranking": 3133
                }
              ],
              "lower": [
                {
                  "player_name": "Che Adams",
                  "ranking": 3135
                },
                {
                  "player_name": "Carlos Vicente",
                  "ranking": 3136
                },
                {
                  "player_name": "Lautaro Di Lollo",
                  "ranking": 3137
                },
                {
                  "player_name": "Hugo Larsson",
                  "ranking": 3138
                },
                {
                  "player_name": "Kasper Dolberg",
                  "ranking": 3139
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.594,
          "history_matches": 5,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.594,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 26.56,
            "bench_appearance_prob": 0.411,
            "market_value_adjustment": 1.0099,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 3.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 30.0,
              "goals_per90": 0.3225806451612903,
              "assists_per90": 0.0,
              "prior_reliability": 0.2067
            },
            "rationale": "Bench projection scaled from XGBoost M_service (5 historical appearances) to 26.6 expected mins (appearance prob 0.41); FBref playing time empirical prior: 1.0 sub appearances, 30.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0716,
                "assists": 0,
                "expected_goals": 0.0919,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.738,
                "minutes": 75,
                "total_pass": 33,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 18,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 7.4,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 36,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 8.5
                  },
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 29.0,
                    "is_starting": false,
                    "weight": 0.2292,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 78.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1656,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 87.0,
                    "is_starting": true,
                    "weight": 0.1408,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 0.0,
                  "totalShots": 2.3445,
                  "ballRecovery_p90": 4.1514,
                  "progressiveBallCarriesCount": 0.9289,
                  "expectedAssists": 0.0596,
                  "ballRecovery": 3.4498
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.8694809675216675,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1964
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0344
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": 0.0332
                        },
                        {
                          "name": "cross_accuracy",
                          "contribution": 0.0338
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0222
                        }
                      ],
                      "others": -0.0268,
                      "total": 0.8695
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0716208890080452,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0148
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0103
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0058
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0047
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0044
                        }
                      ],
                      "others": -0.0019,
                      "total": 0.0716
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.10210824012756348,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.005
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": 0.004
                        },
                        {
                          "name": "duelLost",
                          "contribution": 0.0035
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0036
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0033
                        }
                      ],
                      "others": -0.0063,
                      "total": 0.1021
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.09186326712369919,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0231
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0227
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0132
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0061
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.0046
                        }
                      ],
                      "others": -0.0017,
                      "total": 0.0919
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.41223427653312683,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0626
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.0393
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0358
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.023
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0179
                        }
                      ],
                      "others": 0.0188,
                      "total": 0.4122
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.139823079109192,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.2879
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2078
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.052
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0505
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": -0.0439
                        }
                      ],
                      "others": 0.0437,
                      "total": 1.1398
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.7380194664001465,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0803
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0426
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0207
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0163
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0157
                        }
                      ],
                      "others": 0.0078,
                      "total": 6.738
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0099, quality 0.533)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0723,
                "assists": 0,
                "expected_goals": 0.0928,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8047,
                "minutes": 76,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 18,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 7.4732,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 37,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 10900000,
                "quality_factor": 0.533,
                "boost_factor": 1.0099
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0672)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0723,
                "assists": 0,
                "expected_goals": 0.0928,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8047,
                "minutes": 76,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 18,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 7.4732,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0217,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 37,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.3226,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.14,
                "minutesPct": 78.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.95
              },
              "params": {
                "blend_weight": 0.0672,
                "history_matches": 5,
                "prior_reliability": 0.2067,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.13
                },
                {
                  "stat": "totalShots",
                  "before": 1.1511,
                  "after": 1.2236
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.065
                },
                {
                  "stat": "wonTackle",
                  "before": 0.0,
                  "after": 0.0433
                },
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0217
                },
                {
                  "stat": "goals",
                  "before": 0.0,
                  "after": 0.0217
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.4163,
                  "after": 0.4313
                },
                {
                  "stat": "goalAssist",
                  "before": 0.1031,
                  "after": 0.0962
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.6 expected minutes (appearance prob 0.41)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0213,
                "assists": 0,
                "expected_goals": 0.0274,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.8047,
                "minutes": 27,
                "total_pass": 10,
                "accurate_pass": 9,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.2054,
                "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,
                "goal_rate": 0.0064,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3226,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.14,
                "minutesPct": 78.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 26.56
              },
              "params": {
                "expected_minutes": 26.56,
                "appearance_probability": 0.411
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0213,
                "assists": 0,
                "expected_goals": 0.0274,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.8047,
                "minutes": 27,
                "total_pass": 10,
                "accurate_pass": 9,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.2054,
                "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,
                "goal_rate": 0.0064,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3226,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.14,
                "minutesPct": 78.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 26.56
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0213,
                "assists": 0,
                "expected_goals": 0.0325,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.8047,
                "minutes": 27,
                "total_pass": 10,
                "accurate_pass": 9,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.2054,
                "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,
                "goal_rate": 0.0064,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3226,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.14,
                "minutesPct": 78.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 26.56,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "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": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0274,
                  "after": 0.0325
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 11, fifa_overall 76.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0213,
                "assists": 0,
                "expected_goals": 0.0325,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.8047,
                "minutes": 27,
                "total_pass": 10,
                "accurate_pass": 9,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.2054,
                "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,
                "goal_rate": 0.0064,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3226,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.14,
                "minutesPct": 78.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 26.56,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              },
              "params": {
                "match_squad_rank": 11,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3134,
                "fifa_rank": 1975.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 76.0
              }
            }
          ]
        },
        "Beñat Turrientes": {
          "player_id": 980410,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 8,
          "height": 179,
          "market_value": 10600000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.011,
            "assists": 0,
            "expected_goals": 0.0108,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.9054,
            "minutes": 20,
            "total_pass": 11,
            "accurate_pass": 10,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 5,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 1.149,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 4,
            "total_progression": 14,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.3448,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 75.0,
            "shotConversion": 0.0,
            "minutesPct": 71.4,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.411,
            "bench_expected_minutes": 20.5,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.397,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416332.0,
              "match_date": "2026-09-13 19:00:00 UTC",
              "league_name": "LaLiga",
              "league_id": 8.0,
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": 97268.0,
              "season_name": "LaLiga 26/27",
              "season_year": "26/27",
              "home_team": "Real Sociedad",
              "away_team": "Atl. Madrid",
              "home_score_current": 0.0,
              "away_score_current": 3.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Real Sociedad",
              "opponent": "Atl. Madrid",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 88,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.0631,
                "expected_assists": 0.0375,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 48,
                "accurate_pass": 42,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 62,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0226,
                "expected_assists": 0.0371,
                "total_shots": 1,
                "total_pass": 38,
                "accurate_pass": 34,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 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": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.016,
                "expected_assists": 0.0533,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 73,
                "accurate_pass": 72,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "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": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 18,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0139,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 23,
                "key_pass": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 976,
            "combined_rank_score": 481.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 4.0,
            "fifa_rank": 517.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "projected_match_rating": 6.9054,
            "source_file": "data/player_rankings.csv",
            "player_name": "Beñat Turrientes",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Agustín Giay",
                  "ranking": 971
                },
                {
                  "player_name": "Jin-woo Jo",
                  "ranking": 972
                },
                {
                  "player_name": "Zach Muscat",
                  "ranking": 973
                },
                {
                  "player_name": "Odil Abdumazhidov",
                  "ranking": 974
                },
                {
                  "player_name": "Otabek Boymurodov",
                  "ranking": 975
                }
              ],
              "lower": [
                {
                  "player_name": "José Aldo",
                  "ranking": 977
                },
                {
                  "player_name": "Matheus Henrique",
                  "ranking": 978
                },
                {
                  "player_name": "Azizkhon Isokov",
                  "ranking": 979
                },
                {
                  "player_name": "Esteban Páez",
                  "ranking": 980
                },
                {
                  "player_name": "Krzysztof Piątek",
                  "ranking": 981
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.529,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.529,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 20.5,
            "bench_appearance_prob": 0.411,
            "market_value_adjustment": 1.0088,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 3.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 19.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.1933
            },
            "rationale": "Bench projection scaled from XGBoost M_service (4 historical appearances) to 20.5 expected mins (appearance prob 0.41); FBref playing time empirical prior: 1.0 sub appearances, 19.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0481,
                "assists": 0,
                "expected_goals": 0.0472,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8448,
                "minutes": 64,
                "total_pass": 46,
                "accurate_pass": 43,
                "duels_won": 4,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 62,
                "progressive_carries": 1,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1927,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 0.0,
                  "totalShots": 1.1211,
                  "ballRecovery_p90": 5.052,
                  "progressiveBallCarriesCount": 1.2597,
                  "expectedAssists": 0.0364,
                  "ballRecovery": 3.8698
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.7002178430557251,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2082
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0605
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0282
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0175
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0161
                        }
                      ],
                      "others": 0.0294,
                      "total": 0.7002
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.04807350039482117,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0175
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0135
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0038
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.003
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.002
                        }
                      ],
                      "others": -0.005,
                      "total": 0.0481
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.0744762122631073,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.006
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0043
                        },
                        {
                          "name": "keyPass_p90",
                          "contribution": 0.0037
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0036
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0021
                        }
                      ],
                      "others": -0.0088,
                      "total": 0.0745
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.047171905636787415,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0189
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0127
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0117
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0117
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0099
                        }
                      ],
                      "others": -0.02,
                      "total": 0.0472
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.22769242525100708,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0384
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0167
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0156
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0116
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0115
                        }
                      ],
                      "others": -0.0341,
                      "total": 0.2277
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5262157917022705,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2237
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0922
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0533
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.049
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.034
                        }
                      ],
                      "others": -0.1866,
                      "total": 0.5262
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.8448166847229,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0595
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0191
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": 0.0161
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": 0.0144
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.0112
                        }
                      ],
                      "others": 0.0117,
                      "total": 6.8448
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0088, quality 0.529)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0485,
                "assists": 0,
                "expected_goals": 0.0476,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9054,
                "minutes": 65,
                "total_pass": 47,
                "accurate_pass": 43,
                "duels_won": 4,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 5.0442,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 63,
                "progressive_carries": 1,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 10600000,
                "quality_factor": 0.5295,
                "boost_factor": 1.0088
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0698)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0485,
                "assists": 0,
                "expected_goals": 0.0476,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.9054,
                "minutes": 65,
                "total_pass": 47,
                "accurate_pass": 43,
                "duels_won": 4,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 5.0442,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 63,
                "progressive_carries": 1,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3448,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 75.0,
                "shotConversion": 0.0,
                "minutesPct": 71.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.7
              },
              "params": {
                "blend_weight": 0.0698,
                "history_matches": 4,
                "prior_reliability": 0.1933,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "wonTackle",
                  "before": 0.0,
                  "after": 0.0963
                },
                {
                  "stat": "totalShots",
                  "before": 0.5309,
                  "after": 0.5916
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.2297,
                  "after": 0.287
                },
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.0481
                },
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0241
                },
                {
                  "stat": "goalAssist",
                  "before": 0.0751,
                  "after": 0.0699
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 20.5 expected minutes (appearance prob 0.41)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.011,
                "assists": 0,
                "expected_goals": 0.0108,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.9054,
                "minutes": 20,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.149,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 14,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3448,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 75.0,
                "shotConversion": 0.0,
                "minutesPct": 71.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 20.5
              },
              "params": {
                "expected_minutes": 20.5,
                "appearance_probability": 0.411
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.011,
                "assists": 0,
                "expected_goals": 0.0108,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.9054,
                "minutes": 20,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.149,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 14,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3448,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 75.0,
                "shotConversion": 0.0,
                "minutesPct": 71.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 20.5
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 12, fifa_overall 81.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.011,
                "assists": 0,
                "expected_goals": 0.0108,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.9054,
                "minutes": 20,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.149,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 14,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3448,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 75.0,
                "shotConversion": 0.0,
                "minutesPct": 71.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 20.5,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              },
              "params": {
                "match_squad_rank": 12,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 976,
                "fifa_rank": 517.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 81.0
              }
            }
          ]
        },
        "Gorka Carrera Zarranz": {
          "player_id": 1985103,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 27,
          "height": 178,
          "market_value": 3900000,
          "stats": {
            "expected_goals": 0.0768,
            "goal_rate": 0.0422,
            "goals": 0,
            "total_shots": 1,
            "shots_on_target": 0,
            "expected_assists": 0.0234,
            "duels_won": 1,
            "aerial_won": 0,
            "rating": 6.9,
            "minutes": 25,
            "total_pass": 8,
            "accurate_pass": 6,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 2.2803,
            "dispossessed": 1.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "key_pass": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0493,
            "offsides": 1,
            "ball_carries": 5,
            "total_progression": 13,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.561,
            "bench_expected_minutes": 25.34,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.397,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 77.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 2778,
            "combined_rank_score": 1181.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 959.0,
            "sofascore_rating": 6.4,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1404.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "projected_match_rating": 6.9,
            "source_file": "data/player_rankings.csv",
            "player_name": "Gorka Carrera Zarranz",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "André Luis",
                  "ranking": 2773
                },
                {
                  "player_name": "Antonio Galeano",
                  "ranking": 2774
                },
                {
                  "player_name": "Franco Cáceres",
                  "ranking": 2775
                },
                {
                  "player_name": "Edvin Muratović",
                  "ranking": 2776
                },
                {
                  "player_name": "Jonathan Dubasin",
                  "ranking": 2777
                }
              ],
              "lower": [
                {
                  "player_name": "Germán Cano",
                  "ranking": 2779
                },
                {
                  "player_name": "Javokhir Jorayev",
                  "ranking": 2780
                },
                {
                  "player_name": "Sayfiddin Sodikov",
                  "ranking": 2781
                },
                {
                  "player_name": "Gabriel Sloane-Rodrigues",
                  "ranking": 2782
                },
                {
                  "player_name": "Victor Bogaciuc",
                  "ranking": 2783
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "F_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 25.33644058998921,
            "bench_appearance_prob": 0.5607472995449642,
            "market_value_adjustment": 0.4486,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€3,900,000) scaled to 25.3 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.45)",
              "stats": {
                "expected_goals": 0.23,
                "goal_rate": 0.15,
                "goals": 0,
                "total_shots": 2,
                "shots_on_target": 1,
                "expected_assists": 0.083,
                "duels_won": 4,
                "aerial_won": 1,
                "rating": 6.9,
                "minutes": 90,
                "total_pass": 28,
                "accurate_pass": 20,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 10,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 41,
                "possession_lost": 8.1,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.175,
                "offsides": 1,
                "ball_carries": 19,
                "total_progression": 47,
                "progressive_carries": 5
              },
              "params": {
                "market_value_eur": 3900000,
                "quality_factor": 0.4486
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.3 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0647,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0234,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2803,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0493,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34
              },
              "params": {
                "expected_minutes": 25.34,
                "appearance_probability": 0.561
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0647,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0234,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2803,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0493,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "expected_goals": 0.0768,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0234,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2803,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0493,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "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": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0647,
                  "after": 0.0768
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 17, fifa_overall 77.0)",
              "stats": {
                "expected_goals": 0.0768,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0234,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2803,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0493,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 2778,
                "fifa_rank": 1404.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 77.0
              }
            }
          ]
        },
        "Arsen Zakharyan": {
          "player_id": 1066045,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 23,
          "height": 183,
          "market_value": 8700000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0091,
            "assists": 0,
            "expected_goals": 0.0058,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.3846,
            "minutes": 12,
            "total_pass": 0,
            "accurate_pass": 0,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 1,
            "possession_lost": 0.6798,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 1,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "minutesPct": 1.1,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.698,
            "bench_expected_minutes": 12.21,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.397,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 8,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 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": 4159,
            "combined_rank_score": 2169.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 822.0,
            "sofascore_rating": 6.6,
            "sofascore_appearances": 1.0,
            "fifa_rank": 3517.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "projected_match_rating": 6.3846,
            "source_file": "data/player_rankings.csv",
            "player_name": "Arsen Zakharyan",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Mujaid",
                  "ranking": 4154
                },
                {
                  "player_name": "Adriano Bertaccini",
                  "ranking": 4155
                },
                {
                  "player_name": "Matthieu Epolo",
                  "ranking": 4156
                },
                {
                  "player_name": "Regan Slater",
                  "ranking": 4157
                },
                {
                  "player_name": "Abdelkahar Kadri",
                  "ranking": 4158
                }
              ],
              "lower": [
                {
                  "player_name": "Nicolò Tresoldi",
                  "ranking": 4160
                },
                {
                  "player_name": "Santiago Arias",
                  "ranking": 4161
                },
                {
                  "player_name": "Carlos Forbs",
                  "ranking": 4162
                },
                {
                  "player_name": "Kees Smit",
                  "ranking": 4163
                },
                {
                  "player_name": "Tjaronn Chery",
                  "ranking": 4164
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 12.21,
            "bench_appearance_prob": 0.698,
            "market_value_adjustment": 1.0021,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 4.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 12.2 expected mins (appearance prob 0.70); FBref playing time empirical prior: 1.0 sub appearances, 4.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0669,
                "assists": 0,
                "expected_goals": 0.0359,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3711,
                "minutes": 8,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.0,
                  "ballRecovery_p90": 0.0,
                  "progressiveBallCarriesCount": 0.0,
                  "expectedAssists": 0.0006,
                  "ballRecovery": 0.0
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.656126856803894,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2308
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0537
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0447
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": 0.0285
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0246
                        }
                      ],
                      "others": 0.0123,
                      "total": 0.6561
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0668959990143776,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0124
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0111
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0092
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0085
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0067
                        }
                      ],
                      "others": -0.0199,
                      "total": 0.0669
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.08343309164047241,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0062
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0052
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0047
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0033
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0029
                        }
                      ],
                      "others": -0.0023,
                      "total": 0.0834
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.03592377528548241,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0304
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0156
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0079
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0072
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0071
                        }
                      ],
                      "others": -0.019,
                      "total": 0.0359
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.21013277769088745,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0689
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0175
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0136
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0073
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0066
                        }
                      ],
                      "others": -0.0084,
                      "total": 0.2101
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.4829102158546448,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3494
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1384
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0666
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.06
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0502
                        }
                      ],
                      "others": -0.1313,
                      "total": 0.4829
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.3711256980896,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "kilometersCovered",
                          "contribution": -0.3354
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.1241
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.1032
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0934
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0673
                        }
                      ],
                      "others": -0.1201,
                      "total": 6.3711
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0021, quality 0.507)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.067,
                "assists": 0,
                "expected_goals": 0.036,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 8,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 5.0106,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 8700000,
                "quality_factor": 0.5071,
                "boost_factor": 1.0021
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.067,
                "assists": 0,
                "expected_goals": 0.036,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 8,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 5.0106,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "minutesPct": 1.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              },
              "params": {
                "blend_weight": 0.0,
                "history_matches": 1,
                "prior_reliability": 0.0,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 12.2 expected minutes (appearance prob 0.70)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.0049,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 12,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.6798,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "minutesPct": 1.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.698,
                "bench_expected_minutes": 12.21
              },
              "params": {
                "expected_minutes": 12.21,
                "appearance_probability": 0.698
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.0049,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 12,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.6798,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "minutesPct": 1.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.698,
                "bench_expected_minutes": 12.21
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.0058,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 12,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.6798,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "minutesPct": 1.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.698,
                "bench_expected_minutes": 12.21,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "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": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 14, fifa_overall 73.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.0058,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 12,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.6798,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "minutesPct": 1.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.698,
                "bench_expected_minutes": 12.21,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.0
              },
              "params": {
                "match_squad_rank": 14,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 4159,
                "fifa_rank": 3517.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 73.0
              }
            }
          ]
        }
      },
      "substitutes": {
        "Arsen Zakharyan": {
          "player_id": 1066045,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 23,
          "height": 183,
          "market_value": 8700000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0091,
            "assists": 0,
            "expected_goals": 0.0058,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.3846,
            "minutes": 12,
            "total_pass": 0,
            "accurate_pass": 0,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 1,
            "possession_lost": 0.6798,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 1,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "minutesPct": 1.1,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.698,
            "bench_expected_minutes": 12.21,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.397,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 8,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 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": 4159,
            "combined_rank_score": 2169.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 822.0,
            "sofascore_rating": 6.6,
            "sofascore_appearances": 1.0,
            "fifa_rank": 3517.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "projected_match_rating": 6.3846,
            "source_file": "data/player_rankings.csv",
            "player_name": "Arsen Zakharyan",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Mujaid",
                  "ranking": 4154
                },
                {
                  "player_name": "Adriano Bertaccini",
                  "ranking": 4155
                },
                {
                  "player_name": "Matthieu Epolo",
                  "ranking": 4156
                },
                {
                  "player_name": "Regan Slater",
                  "ranking": 4157
                },
                {
                  "player_name": "Abdelkahar Kadri",
                  "ranking": 4158
                }
              ],
              "lower": [
                {
                  "player_name": "Nicolò Tresoldi",
                  "ranking": 4160
                },
                {
                  "player_name": "Santiago Arias",
                  "ranking": 4161
                },
                {
                  "player_name": "Carlos Forbs",
                  "ranking": 4162
                },
                {
                  "player_name": "Kees Smit",
                  "ranking": 4163
                },
                {
                  "player_name": "Tjaronn Chery",
                  "ranking": 4164
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 12.21,
            "bench_appearance_prob": 0.698,
            "market_value_adjustment": 1.0021,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 4.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 12.2 expected mins (appearance prob 0.70); FBref playing time empirical prior: 1.0 sub appearances, 4.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0669,
                "assists": 0,
                "expected_goals": 0.0359,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3711,
                "minutes": 8,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.0,
                  "ballRecovery_p90": 0.0,
                  "progressiveBallCarriesCount": 0.0,
                  "expectedAssists": 0.0006,
                  "ballRecovery": 0.0
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.656126856803894,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2308
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0537
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0447
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": 0.0285
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0246
                        }
                      ],
                      "others": 0.0123,
                      "total": 0.6561
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0668959990143776,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0124
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0111
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0092
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0085
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0067
                        }
                      ],
                      "others": -0.0199,
                      "total": 0.0669
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.08343309164047241,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0062
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0052
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0047
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0033
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0029
                        }
                      ],
                      "others": -0.0023,
                      "total": 0.0834
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.03592377528548241,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0304
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0156
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0079
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0072
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0071
                        }
                      ],
                      "others": -0.019,
                      "total": 0.0359
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.21013277769088745,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": -0.0689
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0175
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0136
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.0073
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0066
                        }
                      ],
                      "others": -0.0084,
                      "total": 0.2101
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.4829102158546448,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3494
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1384
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0666
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.06
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0502
                        }
                      ],
                      "others": -0.1313,
                      "total": 0.4829
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.3711256980896,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "kilometersCovered",
                          "contribution": -0.3354
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.1241
                        },
                        {
                          "name": "intensity_index",
                          "contribution": -0.1032
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0934
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": 0.0673
                        }
                      ],
                      "others": -0.1201,
                      "total": 6.3711
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0021, quality 0.507)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.067,
                "assists": 0,
                "expected_goals": 0.036,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 8,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 5.0106,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0
              },
              "params": {
                "market_value_eur": 8700000,
                "quality_factor": 0.5071,
                "boost_factor": 1.0021
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.067,
                "assists": 0,
                "expected_goals": 0.036,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 8,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 5.0106,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "minutesPct": 1.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              },
              "params": {
                "blend_weight": 0.0,
                "history_matches": 1,
                "prior_reliability": 0.0,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 12.2 expected minutes (appearance prob 0.70)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.0049,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 12,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.6798,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "minutesPct": 1.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.698,
                "bench_expected_minutes": 12.21
              },
              "params": {
                "expected_minutes": 12.21,
                "appearance_probability": 0.698
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.0049,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 12,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.6798,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "minutesPct": 1.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.698,
                "bench_expected_minutes": 12.21
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.0058,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 12,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.6798,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "minutesPct": 1.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.698,
                "bench_expected_minutes": 12.21,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "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": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 14, fifa_overall 73.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.0058,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.3846,
                "minutes": 12,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.6798,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "minutesPct": 1.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.698,
                "bench_expected_minutes": 12.21,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.0
              },
              "params": {
                "match_squad_rank": 14,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 4159,
                "fifa_rank": 3517.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 73.0
              }
            }
          ]
        },
        "Gorka Carrera Zarranz": {
          "player_id": 1985103,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 27,
          "height": 178,
          "market_value": 3900000,
          "stats": {
            "expected_goals": 0.0768,
            "goal_rate": 0.0422,
            "goals": 0,
            "total_shots": 1,
            "shots_on_target": 0,
            "expected_assists": 0.0234,
            "duels_won": 1,
            "aerial_won": 0,
            "rating": 6.9,
            "minutes": 25,
            "total_pass": 8,
            "accurate_pass": 6,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 2.2803,
            "dispossessed": 1.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "key_pass": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0493,
            "offsides": 1,
            "ball_carries": 5,
            "total_progression": 13,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.561,
            "bench_expected_minutes": 25.34,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.397,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 77.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 2778,
            "combined_rank_score": 1181.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 959.0,
            "sofascore_rating": 6.4,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1404.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "projected_match_rating": 6.9,
            "source_file": "data/player_rankings.csv",
            "player_name": "Gorka Carrera Zarranz",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "André Luis",
                  "ranking": 2773
                },
                {
                  "player_name": "Antonio Galeano",
                  "ranking": 2774
                },
                {
                  "player_name": "Franco Cáceres",
                  "ranking": 2775
                },
                {
                  "player_name": "Edvin Muratović",
                  "ranking": 2776
                },
                {
                  "player_name": "Jonathan Dubasin",
                  "ranking": 2777
                }
              ],
              "lower": [
                {
                  "player_name": "Germán Cano",
                  "ranking": 2779
                },
                {
                  "player_name": "Javokhir Jorayev",
                  "ranking": 2780
                },
                {
                  "player_name": "Sayfiddin Sodikov",
                  "ranking": 2781
                },
                {
                  "player_name": "Gabriel Sloane-Rodrigues",
                  "ranking": 2782
                },
                {
                  "player_name": "Victor Bogaciuc",
                  "ranking": 2783
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "F_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 25.33644058998921,
            "bench_appearance_prob": 0.5607472995449642,
            "market_value_adjustment": 0.4486,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€3,900,000) scaled to 25.3 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.45)",
              "stats": {
                "expected_goals": 0.23,
                "goal_rate": 0.15,
                "goals": 0,
                "total_shots": 2,
                "shots_on_target": 1,
                "expected_assists": 0.083,
                "duels_won": 4,
                "aerial_won": 1,
                "rating": 6.9,
                "minutes": 90,
                "total_pass": 28,
                "accurate_pass": 20,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 10,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 41,
                "possession_lost": 8.1,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.175,
                "offsides": 1,
                "ball_carries": 19,
                "total_progression": 47,
                "progressive_carries": 5
              },
              "params": {
                "market_value_eur": 3900000,
                "quality_factor": 0.4486
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.3 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0647,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0234,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2803,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0493,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34
              },
              "params": {
                "expected_minutes": 25.34,
                "appearance_probability": 0.561
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0647,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0234,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2803,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0493,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "expected_goals": 0.0768,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0234,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2803,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0493,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "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": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0647,
                  "after": 0.0768
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 17, fifa_overall 77.0)",
              "stats": {
                "expected_goals": 0.0768,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0234,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2803,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0493,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 2778,
                "fifa_rank": 1404.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 77.0
              }
            }
          ]
        },
        "Luka Sučić": {
          "player_id": 949156,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 24,
          "height": 185,
          "market_value": 10900000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0213,
            "assists": 0,
            "expected_goals": 0.0325,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.8047,
            "minutes": 27,
            "total_pass": 10,
            "accurate_pass": 9,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 13,
            "possession_lost": 2.2054,
            "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,
            "goal_rate": 0.0064,
            "goals": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 5,
            "total_progression": 11,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "offsides": 0,
            "yellowCards": 0.3226,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 28.6,
            "shotConversion": 0.14,
            "minutesPct": 78.6,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.411,
            "bench_expected_minutes": 26.56,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.397,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16416319.0,
              "match_date": "2026-09-07",
              "home_team": "Elche",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 8.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.2155,
                "expected_assists": 0.0665,
                "total_shots": 4,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 29,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 2,
                "aerial_won": 2,
                "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": 16416340.0,
              "match_date": "2026-09-03",
              "home_team": "Real Sociedad",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Real Sociedad",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 29,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0365,
                "expected_assists": 0.0377,
                "total_shots": 2,
                "total_pass": 16,
                "accurate_pass": 13,
                "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": 16416310.0,
              "match_date": "2026-08-29",
              "home_team": "Real Sociedad",
              "away_team": "Espanyol",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 78,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0458,
                "expected_assists": 0.0199,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 27,
                "accurate_pass": 22,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "aerial_won": 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": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421051.0,
              "match_date": "2026-08-26",
              "home_team": "Real Madrid",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.1179,
                "expected_assists": 0.1689,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 56,
                "accurate_pass": 55,
                "key_pass": 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": 16416293.0,
              "match_date": "2026-08-21",
              "home_team": "Real Betis",
              "away_team": "Real Sociedad",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Sociedad",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 87,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.25,
                "expected_assists": 0.0084,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 32,
                "accurate_pass": 29,
                "key_pass": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3134,
            "combined_rank_score": 1102.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 229.0,
            "sofascore_rating": 7.15,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1975.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 6.8047,
            "source_file": "data/player_rankings.csv",
            "player_name": "Luka Sučić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lawrence Shankland",
                  "ranking": 3129
                },
                {
                  "player_name": "Cameron Carter-Vickers",
                  "ranking": 3130
                },
                {
                  "player_name": "Patrick Wimmer",
                  "ranking": 3131
                },
                {
                  "player_name": "Thomas Lemar",
                  "ranking": 3132
                },
                {
                  "player_name": "Robert Navarro",
                  "ranking": 3133
                }
              ],
              "lower": [
                {
                  "player_name": "Che Adams",
                  "ranking": 3135
                },
                {
                  "player_name": "Carlos Vicente",
                  "ranking": 3136
                },
                {
                  "player_name": "Lautaro Di Lollo",
                  "ranking": 3137
                },
                {
                  "player_name": "Hugo Larsson",
                  "ranking": 3138
                },
                {
                  "player_name": "Kasper Dolberg",
                  "ranking": 3139
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.594,
          "history_matches": 5,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.594,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 26.56,
            "bench_appearance_prob": 0.411,
            "market_value_adjustment": 1.0099,
            "fbref_prior_metrics": {
              "squad": "Real Sociedad",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 4.0,
              "starts": 3.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 30.0,
              "goals_per90": 0.3225806451612903,
              "assists_per90": 0.0,
              "prior_reliability": 0.2067
            },
            "rationale": "Bench projection scaled from XGBoost M_service (5 historical appearances) to 26.6 expected mins (appearance prob 0.41); FBref playing time empirical prior: 1.0 sub appearances, 30.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 7 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0716,
                "assists": 0,
                "expected_goals": 0.0919,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.738,
                "minutes": 75,
                "total_pass": 33,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 18,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 7.4,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 36,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 4,
                  "trained_at": "2026-09-20T13:11:10.419138+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-07",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 8.5
                  },
                  {
                    "match_date": "2026-09-03",
                    "opponent": "Celta Vigo",
                    "minutes": 29.0,
                    "is_starting": false,
                    "weight": 0.2292,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Espanyol",
                    "minutes": 78.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-26",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1656,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-21",
                    "opponent": "Real Betis",
                    "minutes": 87.0,
                    "is_starting": true,
                    "weight": 0.1408,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 0.0,
                  "totalShots": 2.3445,
                  "ballRecovery_p90": 4.1514,
                  "progressiveBallCarriesCount": 0.9289,
                  "expectedAssists": 0.0596,
                  "ballRecovery": 3.4498
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.8694809675216675,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ],
                    "decomposition": {
                      "base": 0.9691,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1964
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0344
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": 0.0332
                        },
                        {
                          "name": "cross_accuracy",
                          "contribution": 0.0338
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0222
                        }
                      ],
                      "others": -0.0268,
                      "total": 0.8695
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0716208890080452,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ],
                    "decomposition": {
                      "base": 0.0929,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0148
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0103
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0058
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0047
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0044
                        }
                      ],
                      "others": -0.0019,
                      "total": 0.0716
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.10210824012756348,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ],
                    "decomposition": {
                      "base": 0.0956,
                      "items": [
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.005
                        },
                        {
                          "name": "kilometersCovered",
                          "contribution": 0.004
                        },
                        {
                          "name": "duelLost",
                          "contribution": 0.0035
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0036
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0033
                        }
                      ],
                      "others": -0.0063,
                      "total": 0.1021
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.09186326712369919,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ],
                    "decomposition": {
                      "base": 0.1087,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0231
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0227
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0132
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0061
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.0046
                        }
                      ],
                      "others": -0.0017,
                      "total": 0.0919
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.41223427653312683,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0617
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0463
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0425
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0328
                      },
                      {
                        "name": "progressive_carries_p90",
                        "importance": 0.0317
                      }
                    ],
                    "decomposition": {
                      "base": 0.3324,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0626
                        },
                        {
                          "name": "numberOfSprints",
                          "contribution": 0.0393
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0358
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.023
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0179
                        }
                      ],
                      "others": 0.0188,
                      "total": 0.4122
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.139823079109192,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0685
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0518
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0356
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.034
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0337
                      }
                    ],
                    "decomposition": {
                      "base": 1.0584,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.2879
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2078
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.052
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0505
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": -0.0439
                        }
                      ],
                      "others": 0.0437,
                      "total": 1.1398
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.7380194664001465,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ],
                    "decomposition": {
                      "base": 6.8318,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0803
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0426
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0207
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0163
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0157
                        }
                      ],
                      "others": 0.0078,
                      "total": 6.738
                    }
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0099, quality 0.533)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0723,
                "assists": 0,
                "expected_goals": 0.0928,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8047,
                "minutes": 76,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 18,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 7.4732,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 37,
                "progressive_carries": 1,
                "shots_off_target": 1
              },
              "params": {
                "market_value_eur": 10900000,
                "quality_factor": 0.533,
                "boost_factor": 1.0099
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0672)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0723,
                "assists": 0,
                "expected_goals": 0.0928,
                "shots_on_target": 0,
                "total_shots": 1,
                "rating": 6.8047,
                "minutes": 76,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 18,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 7.4732,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0217,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 37,
                "progressive_carries": 1,
                "shots_off_target": 1,
                "offsides": 0,
                "yellowCards": 0.3226,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.14,
                "minutesPct": 78.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.95
              },
              "params": {
                "blend_weight": 0.0672,
                "history_matches": 5,
                "prior_reliability": 0.2067,
                "competition": "La Liga",
                "squad": "Real Sociedad"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 0.0,
                  "after": 0.13
                },
                {
                  "stat": "totalShots",
                  "before": 1.1511,
                  "after": 1.2236
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.065
                },
                {
                  "stat": "wonTackle",
                  "before": 0.0,
                  "after": 0.0433
                },
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0217
                },
                {
                  "stat": "goals",
                  "before": 0.0,
                  "after": 0.0217
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.4163,
                  "after": 0.4313
                },
                {
                  "stat": "goalAssist",
                  "before": 0.1031,
                  "after": 0.0962
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.6 expected minutes (appearance prob 0.41)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0213,
                "assists": 0,
                "expected_goals": 0.0274,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.8047,
                "minutes": 27,
                "total_pass": 10,
                "accurate_pass": 9,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.2054,
                "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,
                "goal_rate": 0.0064,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3226,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.14,
                "minutesPct": 78.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 26.56
              },
              "params": {
                "expected_minutes": 26.56,
                "appearance_probability": 0.411
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0213,
                "assists": 0,
                "expected_goals": 0.0274,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.8047,
                "minutes": 27,
                "total_pass": 10,
                "accurate_pass": 9,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.2054,
                "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,
                "goal_rate": 0.0064,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3226,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.14,
                "minutesPct": 78.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 26.56
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.90 (squad xG sum 0.7564, xG scale 1.1872)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0213,
                "assists": 0,
                "expected_goals": 0.0325,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.8047,
                "minutes": 27,
                "total_pass": 10,
                "accurate_pass": 9,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.2054,
                "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,
                "goal_rate": 0.0064,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3226,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.14,
                "minutesPct": 78.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 26.56,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "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": {
                "team_lambda": 0.898,
                "squad_xg_sum": 0.7564,
                "xg_scale": 1.1872,
                "scoreline_reset": true
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0274,
                  "after": 0.0325
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 11, fifa_overall 76.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0213,
                "assists": 0,
                "expected_goals": 0.0325,
                "shots_on_target": 0,
                "total_shots": 0,
                "rating": 6.8047,
                "minutes": 27,
                "total_pass": 10,
                "accurate_pass": 9,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.2054,
                "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,
                "goal_rate": 0.0064,
                "goals": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "shots_off_target": 0,
                "offsides": 0,
                "yellowCards": 0.3226,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 28.6,
                "shotConversion": 0.14,
                "minutesPct": 78.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.411,
                "bench_expected_minutes": 26.56,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.397,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              },
              "params": {
                "match_squad_rank": 11,
                "squad_role": "substitute",
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3134,
                "fifa_rank": 1975.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "fifa_overall": 76.0
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 0,
        "expected_goals": 0.9,
        "expected_assists": 0.45,
        "total_shots": 12,
        "shots_on_target": 2,
        "total_passes": 322,
        "interceptions": 5,
        "tackles": 8,
        "avg_rating": 6.86,
        "possession_estimated_pct": 50.6,
        "pressing_actions_per_90": 7.2
      }
    }
  },
  "antagonist_report": {
    "home_attacking_duels": [
      {
        "attacker": "Filip Ugrinić",
        "attacker_role": "LW",
        "attacker_market_value": 5700000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.471,
        "defenders": [
          "Jon Aramburu",
          "Mamadou Sarr"
        ],
        "defender_roles": [
          "RWB",
          "CB"
        ],
        "def_skill_quality_avg": 0.618,
        "duel_zone": "LW vs RWB + CB",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.234,
        "xg_contribution": 0.0696,
        "shots_in_zone": 1.3,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 1.9,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Jon Aramburu",
            "role": "RWB",
            "market_value": 13900000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.1,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.4,
            "defensive_success_rate": 0.766
          },
          {
            "player": "Mamadou Sarr",
            "role": "CB",
            "market_value": 24000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.1,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.4,
            "defensive_success_rate": 0.766
          }
        ],
        "duel_analysis": "Filip Ugrinić (LW) is heavily outmatched defensively against Jon Aramburu and Mamadou Sarr in a 2-defender block. Duel win probability: 23%.  Projected xG contribution: 0.070 — with very limited chance creation expected."
      },
      {
        "attacker": "Diego López",
        "attacker_role": "RW",
        "attacker_market_value": 9600000,
        "attacker_height": 172,
        "attacker_skill_quality": 0.518,
        "defenders": [
          "Sergio Gómez",
          "Mamadou Sarr"
        ],
        "defender_roles": [
          "LWB",
          "CB"
        ],
        "def_skill_quality_avg": 0.622,
        "duel_zone": "RW vs LWB + CB",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.211,
        "xg_contribution": 0.0635,
        "shots_in_zone": 1.3,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 0.8,
        "crosses_in_zone": 2.0,
        "fouls_drawn": 1.5,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Sergio Gómez",
            "role": "LWB",
            "market_value": 14600000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.1,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.789
          },
          {
            "player": "Mamadou Sarr",
            "role": "CB",
            "market_value": 24000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.789
          }
        ],
        "duel_analysis": "Diego López (RW) is heavily outmatched defensively against Sergio Gómez and Mamadou Sarr in a 2-defender block. Duel win probability: 21%.  Projected xG contribution: 0.064 — with very limited chance creation expected."
      },
      {
        "attacker": "Javier Guerra",
        "attacker_role": "CAM",
        "attacker_market_value": 26000000,
        "attacker_height": 187,
        "attacker_skill_quality": 0.686,
        "defenders": [
          "Jon Gorrotxategi"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.694,
        "duel_zone": "CAM vs CM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.456,
        "xg_contribution": 0.1144,
        "shots_in_zone": 2.3,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.2,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Jon Gorrotxategi",
            "role": "CM",
            "market_value": 27000000,
            "tackles_attempted": 2.2,
            "tackles_won": 1.8,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.544
          }
        ],
        "duel_analysis": "Javier Guerra (CAM) is evenly matched against Jon Gorrotxategi in a direct 1v1 contest. Duel win probability: 46%.  Projected xG contribution: 0.114 — with neither side clearly dominant."
      },
      {
        "attacker": "Hugo Duro",
        "attacker_role": "ST",
        "attacker_market_value": 11600000,
        "attacker_height": 180,
        "attacker_skill_quality": 0.541,
        "defenders": [
          "Mamadou Sarr",
          "Hector Fort"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.605,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.0844,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.6,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.6,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Mamadou Sarr",
            "role": "CB",
            "market_value": 24000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Hector Fort",
            "role": "CB",
            "market_value": 11600000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.1,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Hugo Duro (ST) is heavily outmatched defensively against Mamadou Sarr and Hector Fort in a 2-defender block. Duel win probability: 18%.  Projected xG contribution: 0.084 — with very limited chance creation expected."
      },
      {
        "attacker": "Harvey Elliott",
        "attacker_role": "CDM",
        "attacker_market_value": 21000000,
        "attacker_height": 170,
        "attacker_skill_quality": 0.641,
        "defenders": [
          "Ander Barrenetxea"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.603,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.421,
        "xg_contribution": 0.0581,
        "shots_in_zone": 1.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 0.8,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Ander Barrenetxea",
            "role": "CDM",
            "market_value": 17200000,
            "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.2,
            "defensive_success_rate": 0.579
          }
        ],
        "duel_analysis": "Harvey Elliott (CDM) is evenly matched against Ander Barrenetxea in a direct 1v1 contest. Duel win probability: 42%.  Projected xG contribution: 0.058 — with neither side clearly dominant."
      }
    ],
    "away_attacking_duels": [
      {
        "attacker": "Mikel Oyarzabal",
        "attacker_role": "ST",
        "attacker_market_value": 27000000,
        "attacker_height": 181,
        "attacker_skill_quality": 0.694,
        "defenders": [
          "César Tárrega",
          "Justin De Haas"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.505,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.239,
        "xg_contribution": 0.1962,
        "shots_in_zone": 2.3,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.4,
        "aerial_duels": 3,
        "aerial_won": 1.6,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.6,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "César Tárrega",
            "role": "CB",
            "market_value": 9300000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.1,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.7,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.761
          },
          {
            "player": "Justin De Haas",
            "role": "CB",
            "market_value": 7700000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.0,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.7,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.761
          }
        ],
        "duel_analysis": "Mikel Oyarzabal (ST) is heavily outmatched defensively against César Tárrega and Justin De Haas in a 2-defender block. Duel win probability: 24%. The quality gap is significant (€27M vs €8M avg). Projected xG contribution: 0.196 — with very limited chance creation expected."
      },
      {
        "attacker": "Sergio Gómez",
        "attacker_role": "LWB",
        "attacker_market_value": 14600000,
        "attacker_height": 171,
        "attacker_skill_quality": 0.575,
        "defenders": [
          "José Copete"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.456,
        "duel_zone": "Left Wingback vs Right Back — Overlapping Run",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.393,
        "xg_contribution": 0.0838,
        "shots_in_zone": 1.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 0.8,
        "crosses_in_zone": 2.5,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "José Copete",
            "role": "RB",
            "market_value": 4500000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.8,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.2,
            "defensive_success_rate": 0.607
          }
        ],
        "duel_analysis": "Sergio Gómez (LWB) faces tough defensive resistance against José Copete in a direct 1v1 contest. Duel win probability: 39%.  Projected xG contribution: 0.084 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Jon Aramburu",
        "attacker_role": "RWB",
        "attacker_market_value": 13900000,
        "attacker_height": 176,
        "attacker_skill_quality": 0.567,
        "defenders": [
          "Arnau Martínez"
        ],
        "defender_roles": [
          "LB"
        ],
        "def_skill_quality_avg": 0.532,
        "duel_zone": "Right Wingback vs Left Back — Overlapping Run",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.396,
        "xg_contribution": 0.0834,
        "shots_in_zone": 1.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 2.5,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Arnau Martínez",
            "role": "LB",
            "market_value": 10800000,
            "tackles_attempted": 2.0,
            "tackles_won": 1.8,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.604
          }
        ],
        "duel_analysis": "Jon Aramburu (RWB) faces tough defensive resistance against Arnau Martínez in a direct 1v1 contest. Duel win probability: 40%.  Projected xG contribution: 0.083 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Ander Barrenetxea",
        "attacker_role": "CDM",
        "attacker_market_value": 17200000,
        "attacker_height": 174,
        "attacker_skill_quality": 0.603,
        "defenders": [
          "Harvey Elliott"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.641,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.419,
        "xg_contribution": 0.0779,
        "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.3,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Harvey Elliott",
            "role": "CDM",
            "market_value": 21000000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.9,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.581
          }
        ],
        "duel_analysis": "Ander Barrenetxea (CDM) faces tough defensive resistance against Harvey Elliott in a direct 1v1 contest. Duel win probability: 42%.  Projected xG contribution: 0.078 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Jon Gorrotxategi",
        "attacker_role": "CM",
        "attacker_market_value": 27000000,
        "attacker_height": 177,
        "attacker_skill_quality": 0.694,
        "defenders": [
          "Harvey Elliott"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.641,
        "duel_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.502,
        "xg_contribution": 0.0722,
        "shots_in_zone": 1.8,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.3,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Harvey Elliott",
            "role": "CDM",
            "market_value": 21000000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.7,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.498
          }
        ],
        "duel_analysis": "Jon Gorrotxategi (CM) is slightly favored against Harvey Elliott in a direct 1v1 contest. Duel win probability: 50%.  Projected xG contribution: 0.072 — creating consistent moderate threat."
      }
    ],
    "midfield_battle": {
      "home_midfield_power": 0.611,
      "away_midfield_power": 0.646,
      "home_creative_power": 0.508,
      "away_creative_power": 0.549,
      "home_defensive_power": 0.486,
      "away_defensive_power": 0.549,
      "home_dominance_ratio": 0.486,
      "home_midfield_count": 5,
      "away_midfield_count": 3,
      "home_midfield_players": [
        "Javier Guerra",
        "Harvey Elliott",
        "Diego López",
        "Pepelu",
        "Filip Ugrinić"
      ],
      "away_midfield_players": [
        "Jon Gorrotxategi",
        "Takefusa Kubo",
        "Ander Barrenetxea"
      ],
      "possession_advantage": "neutral",
      "estimated_possession_home_pct": 49.4,
      "estimated_possession_away_pct": 50.6,
      "home_pressing_actions_per_90": 6.8,
      "away_pressing_actions_per_90": 7.2,
      "home_key_passes_projected": 4.5,
      "away_key_passes_projected": 4.8,
      "home_throughball_threat": 2.1,
      "away_throughball_threat": 2.2,
      "key_personal_duel": "Javier Guerra vs Jon Gorrotxategi",
      "midfield_lambda_factor_home": 0.994,
      "midfield_lambda_factor_away": 1.007
    },
    "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.533,
    "away_lambda": 0.898,
    "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",
      "Left Wingback vs Right Back — Overlapping Run"
    ],
    "home_player_antagonists": {
      "Filip Ugrinić": {
        "opponents": [
          "Jon Aramburu",
          "Mamadou Sarr",
          "Ander Barrenetxea"
        ],
        "primary_zone": "LW vs RWB + CB",
        "source": "attacking_duel, midfield_pairing"
      },
      "Diego López": {
        "opponents": [
          "Sergio Gómez",
          "Mamadou Sarr",
          "Jon Gorrotxategi"
        ],
        "primary_zone": "RW vs LWB + CB",
        "source": "attacking_duel, midfield_pairing"
      },
      "Javier Guerra": {
        "opponents": [
          "Jon Gorrotxategi",
          "Ander Barrenetxea"
        ],
        "primary_zone": "CAM vs CM",
        "source": "attacking_duel, midfield_pairing"
      },
      "Hugo Duro": {
        "opponents": [
          "Mamadou Sarr",
          "Hector Fort"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Harvey Elliott": {
        "opponents": [
          "Ander Barrenetxea",
          "Jon Gorrotxategi"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "César Tárrega": {
        "opponents": [
          "Mikel Oyarzabal"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Justin De Haas": {
        "opponents": [
          "Mikel Oyarzabal"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "José Copete": {
        "opponents": [
          "Sergio Gómez"
        ],
        "primary_zone": "Left Wingback vs Right Back — Overlapping Run",
        "source": "defensive_duel"
      },
      "Arnau Martínez": {
        "opponents": [
          "Jon Aramburu"
        ],
        "primary_zone": "Right Wingback vs Left Back — Overlapping Run",
        "source": "defensive_duel"
      },
      "Pepelu": {
        "opponents": [
          "Takefusa Kubo"
        ],
        "primary_zone": "Midfield lane",
        "source": "midfield_pairing"
      },
      "Stole Dimitrievski": {
        "opponents": [
          "Orri Óskarsson",
          "Mikel Oyarzabal"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "away_player_antagonists": {
      "Jon Aramburu": {
        "opponents": [
          "Filip Ugrinić",
          "Arnau Martínez"
        ],
        "primary_zone": "LW vs RWB + CB",
        "source": "defensive_duel, attacking_duel"
      },
      "Mamadou Sarr": {
        "opponents": [
          "Filip Ugrinić",
          "Diego López",
          "Hugo Duro"
        ],
        "primary_zone": "LW vs RWB + CB",
        "source": "defensive_duel"
      },
      "Sergio Gómez": {
        "opponents": [
          "Diego López",
          "José Copete"
        ],
        "primary_zone": "RW vs LWB + CB",
        "source": "defensive_duel, attacking_duel"
      },
      "Jon Gorrotxategi": {
        "opponents": [
          "Javier Guerra",
          "Harvey Elliott",
          "Diego López"
        ],
        "primary_zone": "CAM vs CM",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "Hector Fort": {
        "opponents": [
          "Hugo Duro"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Ander Barrenetxea": {
        "opponents": [
          "Harvey Elliott",
          "Javier Guerra",
          "Filip Ugrinić"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "Mikel Oyarzabal": {
        "opponents": [
          "César Tárrega",
          "Justin De Haas"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Takefusa Kubo": {
        "opponents": [
          "Pepelu"
        ],
        "primary_zone": "Midfield lane",
        "source": "midfield_pairing"
      },
      "Álex Remiro": {
        "opponents": [
          "Hugo Duro",
          "Pepelu"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Jon Martin": {
        "opponents": [
          "Hugo Duro"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Orri Óskarsson": {
        "opponents": [
          "Arnau Martínez",
          "César Tárrega"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "key_tactical_insight": "Midfield is evenly contested — Javier Guerra vs Jon Gorrotxategi will be the pivotal duel. Total antagonist xG — Home: 0.39, Away: 0.51. Home danger zone: CAM vs CM. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle.",
    "lambda_factors": {
      "home_gk_opposition_factor": 0.9777,
      "away_gk_opposition_factor": 1.0152,
      "home_set_piece_bonus": 0.153,
      "away_set_piece_bonus": 0.082,
      "home_defensive_solidity_vs": 0.9396,
      "away_defensive_solidity_vs": 0.9852,
      "home_midfield_factor": 0.994,
      "away_midfield_factor": 1.007,
      "stage_discount": 1.0,
      "quality_gap_applied": true,
      "home_avg_quality": 0.5344,
      "away_avg_quality": 0.6292,
      "avg_quality_gap": -0.0949,
      "squad_value_gap_log": -0.537,
      "top5_value_gap_log": -0.4017,
      "attack_value_gap_log": -0.3008,
      "elite_count_gap": 0,
      "combined_quality_gap": -0.149,
      "stronger_lambda_boost": 0.082,
      "weaker_lambda_suppression": 0.0477,
      "home_bench_lambda_bonus": 0.056,
      "away_bench_lambda_bonus": 0.0638,
      "home_bench_players_modelled": 7,
      "away_bench_players_modelled": 7,
      "fbref_team_priors": {
        "applied": true,
        "home_squad": "Valencia",
        "away_squad": "Real Sociedad",
        "home_goals_per90": 0.3333333333333333,
        "away_goals_against_per90": 0.75,
        "away_goals_per90": 0.75,
        "home_goals_against_per90": 0.33,
        "home_empirical_lambda": 0.2,
        "away_empirical_lambda": 0.2,
        "blending_weight": 0.228
      },
      "mismatch_score_pressure_applied": false,
      "competitive_underdog_floor_applied": true,
      "competitive_underdog_floor": 1.0,
      "competitive_underdog_floor_mode": "smooth_softplus",
      "pre_competitive_floor_home_lambda": 0.65,
      "pre_competitive_floor_away_lambda": 0.898,
      "pre_calibration_home_lambda": 0.5906,
      "pre_calibration_away_lambda": 0.8985,
      "competition_calibration_applied": false,
      "competition_calibration_reason": "no_sofascore_matches_data",
      "competition_calibration_samples": 0,
      "competition_observed_total_goals": 0.0,
      "competition_calibration_scale": 1.0,
      "neutral_share_preserved": false,
      "final_home_lambda": 1.533,
      "final_away_lambda": 0.898
    }
  },
  "home_standing": {
    "available": true,
    "team_position": 20,
    "opponent_position": 9,
    "standing_lambda_multiplier": 0.6302,
    "attack_index": 0.208,
    "defense_concede_index": 1.111,
    "form_multiplier": 0.951,
    "team_attack_rate_contextual": 0.25,
    "opp_defense_rate_contextual": 1.33,
    "team_ppg": 0.25,
    "opponent_ppg": 1.4
  },
  "away_standing": {
    "available": true,
    "team_position": 9,
    "opponent_position": 20,
    "standing_lambda_multiplier": 1.2093,
    "attack_index": 0.833,
    "defense_concede_index": 1.874,
    "form_multiplier": 1.049,
    "team_attack_rate_contextual": 1.0,
    "opp_defense_rate_contextual": 2.25,
    "team_ppg": 1.4,
    "opponent_ppg": 0.25
  },
  "xgboost_reasoning": {
    "summary": "Antagonist + XGBoost match analysis for Valencia vs Real Sociedad. 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 0.591, Away 0.898). Final calibrated Poisson lambdas: Home 1.533, Away 0.898 (most likely score 1-0).",
    "competition": "LaLiga",
    "model_coverage": {
      "home_starters_count": 11,
      "home_xgboost_players": 9,
      "home_fbref_players": 7,
      "away_starters_count": 11,
      "away_xgboost_players": 11,
      "away_fbref_players": 10,
      "home_bench_modelled": 7,
      "away_bench_modelled": 7
    },
    "team_priors": {
      "applied": true,
      "home_squad": "Valencia",
      "away_squad": "Real Sociedad",
      "home_goals_per90": 0.3333333333333333,
      "away_goals_against_per90": 0.75,
      "away_goals_per90": 0.75,
      "home_goals_against_per90": 0.33,
      "home_empirical_lambda": 0.2,
      "away_empirical_lambda": 0.2,
      "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.533,
      "away_lambda": 0.898,
      "micro_duel_home_lambda": 0.591,
      "micro_duel_away_lambda": 0.898
    },
    "calibration_and_pressure": {
      "competition_calibration_applied": false,
      "competition_calibration_scale": 1.0,
      "mismatch_pressure_applied": false,
      "underdog_floor_applied": true
    }
  },
  "timestamp": "2026-09-20T13:31:30Z",
  "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,
    "totalPass": 150.0,
    "accuratePass": 145.0,
    "keyPass": 8.0,
    "expectedAssists": 1.5,
    "goalAssist": 4.0,
    "expectedGoals": 3.0,
    "goals": 5.0,
    "totalShots": 12.0,
    "onTargetScoringAttempt": 8.0,
    "rating": 10.0,
    "minutesPlayed": 95.0,
    "duelWon": 20.0,
    "ballRecovery": 18.0,
    "fouls": 8.0
  }
}